如何在Dockerfile CMD中使用引号

时间:2017-09-28 12:59:51

标签: docker dockerfile

我的Dockerfile中有以下内容:

ENTRYPOINT ["/bin/wait-for", "wordpress:9000", "--"]
CMD nginx -g "daemon off;"

结果是:

nginx_1      | Attempting...
nginx_1      | Command: /bin/sh -c nginx -g "daemon off;"
nginx_1      | Attempting to execute command:
nginx_1      | /bin/sh -c nginx -g "daemon off;"
ayurved_nginx_1 exited with code 0

我猜这些问题是引用......

如何让它执行/bin/wait-for wordpress:9000 -- nginx -g "daemon off;"

1 个答案:

答案 0 :(得分:0)

在exec格式(又名JSON数组)中使用CMD时,我遇到了类似的问题。

TL; DR似乎有一个后备机制,当无法正确解析CMD项时会引入/bin/sh

我找不到确切的规则,但我有一些例子:

ENTRYPOINT ["reflex"]
CMD ["-r", ".go$"]

$ docker inspect --format '{{.Config.Cmd}}' inventories_service_dev_1 
[-r .go$]
ENTRYPOINT ["reflex"]
CMD ["-r", "\.go$"]

$ docker inspect --format '{{.Config.Cmd}}' inventories_service_dev_1 
[/bin/sh -c ["-r", "\.go$"]]

请注意上面的\