gpt4 book ai didi

scala - 如何在 Dockerfile 中为 sbt 插件添加自定义命令

转载 作者:行者123 更新时间:2023-12-02 18:14:05 35 4
gpt4 key购买 nike

当我执行 sbt docker:publishLocal 时,它会创建一个 Dockerfile,自动删除文件之前的内容。

我想添加自定义命令以将 cassandra 添加到容器中。我复制粘贴了这个文件的内容

https://github.com/docker-library/cassandra/blob/064fb4e2682bf9c1909e4cb27225fa74862c9086/3.11/Dockerfile

并尝试再次运行上面的命令。但这会清除所有现有内容并将其替换为默认内容。

如何在 Dockerfile 或 build.sbt 中添加 docker 命令?

最佳答案

sbt-docker 插件有一个自定义部分,including one "Write from Scratch" ,这可能是有趣的:

You can simply wipe out all docker commands with

dockerCommands := Seq()

Now let’s start adding some Docker commands.

import com.typesafe.sbt.packager.docker._

dockerCommands := Seq(
Cmd("FROM", "openjdk:8"),
Cmd("LABEL", s"""MAINTAINER="${maintainer.value}""""),
ExecCmd("CMD", "echo", "Hello, World from Docker")
)

您可以用这种方式编写您的自定义 Dockerfile:它将被正确地重新生成。

How am I going to add something like this:

 RUN set -x \ 
&& apt-get update && apt-get install -y --no-install-recommends ca-certificates wget && rm -rf /var/lib/apt/lists/* \
&& wget -O /usr/local/bin/gosu....

如示例 from the documentation :

ExecCmd("RUN",
"set", "-x",
"&&",
"apt-get", "update", ...
),

关于scala - 如何在 Dockerfile 中为 sbt 插件添加自定义命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56554931/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com