Tag: sbtdocker工人

sbt-docker无效的头字段值“oci …运行时错误:没有这样的文件错误

我目前使用sbt-docker来创build一个图像在mesos上运行。 当我执行“项目DataQualityIngest”运行。 一切工作正常。 (从而表明项目本身工作正常) 但是当我用这些设置创builddocker图像时 mainClass in (Compile, run) := Some("com.company.data_quality.CredentialObjectConsumer") enablePlugins(DockerPlugin, JavaAppPackaging) dockerBaseImage := "java:8u72" dockerExposedPorts := Seq(9000) dockerRepository := Some("docker.company.com/analytics") packageName in Docker := "credential-kafka-ingest" version in Docker := "0.1.7.4 它成功地build立了docker图像docker.company.com/analytics/credential-kafka-ingest:0.1.7.4 ,但是当我运行docker run docker.company.com/analytics/credential-kafka-ingest:0.1.7.1我得到以下错误 docker: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"bin/datqualityingest\\\": […]

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

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

如何通过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, […]

如何使用sbt-docker和sbt-assembly创build一个All-in-One泊坞窗图像

我正在使用sbt-assembly来获得脂肪jar,并使用sbt-docker来创build并推送泊坞窗图像。 我的项目是多模块,它有多个Web服务,用户界面,数据库等。由于我的基础docker图像是大的(800M),我想创build一个包含所有胖jar子的docker图像,以便我可以轻松地使用云testing一个适度的机器。 我把这个解决scheme称为All-FatJars-in-One(AFIO)。 我很难build立这样的AFIOdocker图像,因此这篇文章。 假设这个多模块项目有模块root和mod1,下面是build.scala: val exeProjs = Seq(mod1) lazy val root = Project("root", file(".")). enablePlugins(DockerPlugin). aggregate(exeProjs.map(_.project): _*). dependsOn(exeProjs.map(_ % "compile->test"): _*). settings(basicSettings: _*). settings( docker <<= docker dependsOn assembly, dockerfile in docker := { //get root artifact path like // /home/me/root/target/scala-2.11/root-assembly-0.1-SNAPSHOT.jar val parentArtifact = (assemblyOutputPath in assembly).value new Dockerfile { from("java:8") exeProjs.map(proj => { […]

为什么Play项目中的sbt-docker的enablePlugins(DockerPlugin)给出了“错误:对DockerPlugin的引用是不明确的”?

我试图dockerize玩一个networking应用程序,我正在使用sbt-docker。 当我执行sbt docker的时候,我得到了错误的结果: error: reference to DockerPlugin is ambiguous; it is imported twice in the same scope by import _root_.sbtdocker.DockerPlugin and import _root_.com.typesafe.sbt.packager.docker.DockerPlugin enablePlugins(DockerPlugin) ^ [error] Type error in expression Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q 我得到了上面的错误,我的build.sbt看起来像这样: enablePlugins(DockerPlugin) lazy val root = (project in file(".")).enablePlugins(PlayScala) scalaVersion := "2.11.6" libraryDependencies ++= Seq( jdbc, […]