gpt4 book ai didi

docker - 向 Docker 容器传递参数

转载 作者:IT老高 更新时间:2023-10-28 21:34:48 28 4
gpt4 key购买 nike

我创建了一个容器 docker 。应该给出以下内容:

docker run --rm container1
> Hello World!

docker run --rm container1 Bob
> Hello Bob!

我的 Dockerfile:

FROM ubuntu:14.04
ENTRYPOINT ["/bin/echo", "Hello"]
CMD ["World!"]

我的输出:

docker run --rm container1
> Hello World!

docker run --rm container1 Bob
> Hello Bob

我输了“!”

最佳答案

您的问题可能来自对 Ubuntu shell 完成的字符串连接的潜在不理解

$ echo "Hello" "I" "am" "a" "developer"
Hello I am a developer

这是可行的,因为 shell 没有连接运算符。所以实际上用字符串输入 echo 将使所有这些字符串连接起来的 echo ,其中没有真正的黑魔法,而且据我所知,字符串按照它们传递的顺序连接起来到 echo

现在您真正想要实现的目标可以通过 printf 轻松完成。可以用参数替换格式:

printf 'Hello %s!' 'Bob'
> Hello Bob!

更多关于 printf 替换的信息可以找到 there .

如果你的 Dockerfile 是:

FROM ubuntu:14.04
ENTRYPOINT ["printf", "Hello %s!"]
CMD ["World"]

你会得到你预期的结果。

$ docker build -t demo .

$ docker run --rm demo
Hello World!

$ docker run --rm demo Bob
Hello Bob!

关于docker - 向 Docker 容器传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44197704/

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