Tag: 斯卡拉

如何激活scala中的sbt DockerPlugin?

我有两个scala项目,一个已经定义通过sbt docker插件来构build它的docker容器。 另一个我想要dockerify以及。 工作人员在build.sbt有以下与build.sbt config相关的行: organization := "com.namespace" name := "dockerized-app" version := sys.env.getOrElse("PIPELINE_VERSION", "0.1.0_local") scalaVersion := "2.12.4" enablePlugins(JavaAppPackaging) enablePlugins(DockerPlugin) packageName in Docker := packageName.value dockerRepository := Some("our-docker.io:5001") dockerExposedPorts := Seq(8080) 我以为我可以复制相关的行粘贴到新项目,更改名称,并使其工作。 然而,当我将这条线添加到即将被dockerified的scala项目时: enablePlugins(DockerPlugin) 我得到的错误: Cannot resolve symbol DockerPlugin 我已经浏览了预先存在的项目libraryDependencies ,但似乎没有这样configuration。 在预configuration项目中,IntellJ以某种方式知道插件,我可以跟踪来自com.typesafe.sbt.packager.docker 。 这让我认为sbt默认带有它。 但显然我必须以某种方式激活它。 深入挖掘我也尝试添加到我的plugins.sbt无济于事: addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.3.2") 如何在scala中使用sbt来激活DockerPlugin ?

来自SBT的多个docker图像

我正在使用sbt native packager为Spray API应用程序生成sbt native packager docker image 。 代码只是教程中最简单的版本。 现在我想重用一些案例类,并在后端创build作业stream程加载数据。 父项目 *通用协议 * API *工作 如何从一个项目生成两个docker images ?

使用Dockerfile安装Docker

我有一个Dockerfile,看起来像这样: # Pull base image FROM openjdk:8 ENV SCALA_VERSION 2.12.2 ENV SBT_VERSION 0.13.15 # Scala expects this file RUN touch /usr/lib/jvm/java-8-openjdk-amd64/release # Install Scala ## Piping curl directly in tar RUN \ curl -fsL http://downloads.typesafe.com/scala/$SCALA_VERSION/scala-$SCALA_VERSION.tgz | tar xfz – -C /root/ && \ echo >> /root/.bashrc && \ echo 'export PATH=~/scala-$SCALA_VERSION/bin:$PATH' >> /root/.bashrc # Install […]

Akka HTTP在Docker容器中过早closures

我有一个简单的Akka HTTP服务器端口8080本地运行。它完美的工作,并显示以下消息: Started server at 127.0.0.1:8080, press enter to kill server 我正在使用sbt-assembly来创build.jar文件。 它生活在target/scala-2.12/my-app-assembly-0.1.jar 然后,我创build一个简单的Dockerfile如下所示: FROM openjdk:8u131 ADD target/scala-2.12/my-app-assembly-0.1.jar app.jar ENTRYPOINT ["java", "-jar", "app.jar"] CMD ["-XX:+UnlockExperimentalVMOptions", "-XX:+UseCGroupMemoryLimitForHeap", "-XX:MaxRAMFraction=1", "-XshowSettings:vm"] build立docker形象: docker build -t {my namespace}/my-app . 并运行它: docker run {my namespace}/my-app 现在,它还显示: Started server at 127.0.0.1:8080, press enter to kill server 但之后立即抛出这些错误并closures: … [DEBUG] [10/08/2017 23:18:15.056] […]

在Docker Alpine Linux容器上运行Scala SBT时的证书exception

我有一个Dockerfile与下面的基本映像: FROM frolvlad/alpine-oraclejdk8:slim 在同一个Dockerfile中,我也运行: activator compile 当我运行$ docker build -t some_name . 在我的MacBook上,SBT步骤按预期工作。 当我在远程Ubuntu主机(AWS上的EC2实例)上运行相同的命令时,通过相同的Dockerfile,我得到了许多证书错误,如下所示: [info] Resolving org.webjars#strip-json-comments;1.0.2-1 … [error] Server access Error: java.security.cert.CertificateException: No name matching repo.typesafe.com found url=https://repo.typesafe.com/typesafe/ivy-releases/org.webjars/strip-json-comments/1.0.2-1/ivys/ivy.xml [error] Server access Error: java.security.cert.CertificateException: No name matching repo.scala-sbt.org found url=https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.webjars/strip-json-comments/1.0.2-1/ivys/ivy.xml [error] Server access Error: java.security.cert.CertificateException: No name matching repo1.maven.org found url=https://repo1.maven.org/maven2/org/webjars/strip-json-comments/1.0.2-1/strip-json-comments-1.0.2-1.pom [info] Resolving com.typesafe.sbt#sbt-rjs;1.0.7 … […]

如何更改sbt-docker设置以select工件的特定路线

现在,只要我在我的项目中执行sbt-docker插件的sbt docker命令,就会在[app-route]/target/docker/文件夹下生成工件(dockerfile和jar)。 有没有办法改变这个“默认”路线,所以可以在别的地方产生文物? 比方说,在[app-route]/docker呢?

在AWS上使用Kubernetes创build和运行Docker容器集群

我下载了kubernetes(使用下面的命令): export KUBERNETES_PROVIDER=aws; wget -q -O – https://get.k8s.io | bash 现在我在我的aws帐户中有4个奴才机器和一个主机器。 我想我的集群运行3个docker集装箱(只是一个随机数),只是为了看看这是如何工作的。 目前我没有我自己的docker集装箱,所以我想创build只是演示,也许使用docker集线器一些stream行的形象。(图像创build容器的https://hub.docker.com/r/williamyeh/scala / ) 我怎么从这里开始? 我如何创build这些容器并将其与群集链接? 我正在使用Mac。

无法在phusion / baseimage上安装scala

您好,我无法安装Scala的基本形象 https://gist.github.com/geoHeil/f52bb118303157cafd77e0c49db3de71 该图像包含java8,但安装scala失败 dpkg: dependency problems prevent configuration of scala: scala depends on libjansi-java; however: Package libjansi-java is not installed. dpkg: error processing package scala (–install): dependency problems – leaving unconfigured 通常会显示java没有安装。 但是,java_home设置正确,java可执行文件在path中。

运行火花时没有输出NetworkWordCount示例

我是spark的初学者,我正在尝试使用docker运行Spark示例NetworkWordCount 。 但是当我运行这个例子时没有输出: 通过docker exec -it container_id bash启动一个新的terminal, root@sandbox:/usr/local/spark# nc -lk 9999 a ba cdefg a ba cdefg a ba cdefg a ba cdefg a ba cdefg a ba cdefg a ba cdefg a ba cdefg a ba cdefg a ba cdefg a ba cdefg a ba cdefg a ba cdefg a ba cdefg a […]

如何通过sbt-release在发布过程中推送/构buildDocker镜像

我是scala的新手。 我用sbt-release来控制发布过程和sbt-docker来构build/发布一个docker镜像。 我可以通过sbt release发布特定版本,并通过sbt docker或者sbt dockerBuildAndPush来构build/发布一个docker镜像。 如果我想发布一个特定的版本,我需要 执行sbt release 请记住发行版本并修改发行版本的docker image标签 执行sbt dockerBuildAndPush 但是太单调乏味了 我想将构build/发布docker镜像添加到发布过程中。 例如: 我在build.sbt定义了我的发布过程 val publishDocker = ReleaseStep(action = st => { // 1. get release version from sbt-release // 2. add release version to docker image tag // 3. push docker image to aws ecr }) releaseProcess := Seq[ReleaseStep]( checkSnapshotDependencies, inquireVersions, […]