我创建一个容器 docker 。应该给出以下内容:
docker run --rm container1
> Hello World!
docker run --rm container1 Bob
> Hello Bob!
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
的顺序进行串联的。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/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |