use*_*717 22 docker dockerfile
我想将参数传递给docker CMD.例如,如果内容Dockerfile是
FROM ubuntu:15.04
CMD ["/bin/bash", "-c", "cat", "$1"]
Run Code Online (Sandbox Code Playgroud)
然后我想运行如下:
docker build -t cat_a_file .
docker run -v `pwd`:/data cat_a_file /data/Dockerfile
Run Code Online (Sandbox Code Playgroud)
我想将内容Dockerfile打印到屏幕上.但相反,Docker认为这/data/Dockerfile是一个应该覆盖的脚本CMD,给出了错误
Error response from daemon: Cannot start container 7cfca4:
[8] System error: exec: "/data/Dockerfile": permission denied
Run Code Online (Sandbox Code Playgroud)
如何避免这种情况?
Adr*_*uat 26
使用ENTRYPOINT像这样的东西.任何CMD参数都附加到给定的ENTRYPOINT.
因此,如果您将Dockerfile更新为:
FROM ubuntu:15.04
ENTRYPOINT ["/bin/bash", "-c", "cat"]
Run Code Online (Sandbox Code Playgroud)
事情应该按照你的意愿行事.
此外,由于您不需要$1,您应该能够将其更改为:
FROM ubuntu:15.04
ENTRYPOINT ["/bin/cat"]
Run Code Online (Sandbox Code Playgroud)
我没有测试任何这个,所以如果它不起作用,请告诉我.
| 归档时间: |
|
| 查看次数: |
23513 次 |
| 最近记录: |