问题标签 [sbt-docker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
216 浏览

sbt - Docker 推送失败并出现致命错误 msg=""

使用sbt-docker插件,我执行sbt dockerBuildAndPush并在组装后看到以下输出:

build.sbt包括:

为什么会失败?

0 投票
1 回答
1079 浏览

docker - 如何使用 sbt-docker 和 sbt-assembly 创建 All-In-One docker 映像

我正在使用 sbt-assembly 来获取胖罐子,并使用 sbt-docker 创建和推送 docker 映像。我的项目是多模块的,它有多个 Web 服务、UI、数据库等。由于我的基础 Docker 映像很大(800M),我想创建一个包含所有胖 jar 的 Docker 映像,这样我就可以轻松地在云中使用一台普通的机器。我将此解决方案称为 All-FatJars-in-One (AFIO)。我很难构建这样的 AFIO docker 映像,因此这篇文章。

假设这个多模块项目有模块根和 mod1,下面是 build.scala:

问题:

  1. 上面的代码不起作用,因为即使我已经验证 fullPathToMod1Art 对于生成的 mod1 工件是正确的,根模块也找不到 mod1 工件。我通过compile->test指定了rootdependsOn mod1,因为我不知道还有什么其他配置更能描述需求:root的docker镜像创建依赖于mod1 fat jar的生成。

  2. 如您所见,在根模块设置中获取 mod1 工件路径存在令人讨厌的路径解析。一定有更好的办法。

问题:

如果 sbt-docker + sbt-assembly 解决方案支持 AFIO 模型,如何正确地做到这一点,从而优雅地解决上述两个问题?如果他们不支持,还有哪些插件可以提供帮助?

感谢任何线索。

0 投票
1 回答
160 浏览

sbt-docker - sbt-docker 无法运行 echo 管道

我正在使用 sbt-docker 并尝试通过以下链接在 docker 上设置 ssh:https ://docs.docker.com/examples/running_ssh_service/ 。

sbt-docker 似乎不明白以下内容:

此运行命令无需更改 root 用户密码,而是简单地打印字符串“'root:root' | chpasswd”。

相似地,

此命令打印“root:root &> rootpasswd.txt”,而不是将“root:root”写入 rootpasswd.txt 文件。

知道如何让 sbt-docker 正确执行这些 echo 命令吗?谢谢!

0 投票
1 回答
128 浏览

scala - sbt-docker add 和 addRaw 的区别

标题说明了一切:sbt-docker 插件示例同时使用 add() 和 addRaw(),但文档仅提及 add()。addRaw() 有什么用?

0 投票
2 回答
876 浏览

scala - 在 Elasticbeanstalk for Scala Apps 中为 Docker 多容器环境部署和托管工件的最佳实践是什么?

我有几个 Scala 应用程序,我想在 Amazon 的 Elastic Beanstalk 上的 Docker 多容器环境中部署它们。

整个过程似乎比我预期的要复杂一些。所以我真的很期待听到一些关于最佳实践和其他方法的反馈,以改进我的整个流程并能够“自动化”一些步骤(如果可能的话)。

这是我目前的流程:

  1. 为了生成我的项目的工件,我使用了sbt-docker插件。此插件在 [app-route]/target/docker 下生成项目工件(jar 和 Dockerfile)。
  2. 我将这些工件(jar 和 Dockerfile)上传到 git 存储库中(目前“手动”执行此操作)。
  3. 由于Amazon 的 Elastic Beanstalk 需要 Docker 多容器,我需要一个在线存储库来“托管”图像:可以是Docker-HubQuay.io。要么要求我有一个 git 存储库,它可以在其中找到能够生成项目图像的工件。
  4. 在 Elastic Beanstalk 中创建了多容器环境后,我继续上传Dockerrun.aws.json文件,如亚马逊文档中所述,以及包含端口设置的 .ebextensions/elb-listeners.config 文件(因为我是运行多个应用程序)
  5. 魔法!亚马逊生成我的环境。我所有应用程序的相同 url,不同端口(如第 4 步中的配置文件中指定的那样) 。

我很想找到一种自动化步骤 2的方法。 因为这要求我每个应用程序都有一个额外的回购。我将我的应用程序托管在一个 git repo 中,并且每个我都有一个“额外”的 repo,我在其中托管在step 1中生成的工件,以便能够执行step 3

0 投票
1 回答
48 浏览

scala - 如何更改 sbt-docker 设置以选择工件的特定路径

现在,每当我在项目中执行sbt-dockersbt docker插件的命令时,它都会在文件夹下生成工件(dockerfile 和 jars) 。[app-route]/target/docker/

有没有办法改变那个“默认”路线,所以它可以在其他地方生成工件?比方说,[app-route]/docker取而代之?

0 投票
2 回答
2176 浏览

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

我正在尝试 dockerize 一个 play web 应用程序,我正在使用 sbt-docker。执行 sbt docker 时出现以下错误:

我收到上述错误,我的 build.sbt 看起来像这样:

我怀疑 sbt-native-packager 与 sbt-docker 冲突。但我没有在任何地方导入 sbt-native-packager。

0 投票
1 回答
118 浏览

sbt - 文件 commons-lang3/ivy-3.4.xml.original 中的未知标签名称

我正在尝试使用commons-lang3,但出现错误

unknown tag name in file:/Users/myuser/.ivy2/cache/org.apache.commons/commons-lang3/ivy-3.4.xml.original

我试图排除依赖,但需要解析 docker 文件。

你知道我该如何解决它。

谢谢

0 投票
3 回答
1756 浏览

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

我使用sbt-release来控制发布过程,并使用 sbt- docker来构建/发布 docker 映像。

我可以通过或`sbt dockerBuildAndPush'发布特定版本sbt release并构建/发布docker镜像sbt docker

如果我想发布特定版本,我需要

  1. 执行sbt release
  2. 记住发布版本并使用发布版本修改 docker 镜像标签
  3. 执行sbt dockerBuildAndPush

但这太乏味了...

我想将构建/发布 docker 映像添加到发布过程中。

例如:

我定义了我的发布过程build.sbt

但我不知道如何实现 publishDocker 功能。

0 投票
2 回答
998 浏览

docker - 带有 sbt docker:publishLocal 和 docker run 的 javaOptions

如果我在没有 Docker 的情况下运行我的应用程序,我会这样做:

事实上,我可以做得更好,将它们按build.sbt文件放入:

然后在我运行我的应用程序时应用它们:

当我使用 构建我的应用程序sbt docker:publishLocal,然后使用 docker run 运行它时,它javaOptions不会生效。

我怎样才能让这些javaOptions生效时我docker run