我的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;"
?
答案 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$"]]
请注意上面的\
。