当我尝试在运行时通过 Dockerfile 中的 CMD 指令执行两个命令时,不明白发生了什么。我认为这应该可行:
CMD ["/etc/init.d/nullmailer", "start", ";", "/usr/sbin/php5-fpm"]
但它不起作用。容器尚未启动。所以我不得不这样做:
CMD ["sh", "-c", "/etc/init.d/nullmailer start ; /usr/sbin/php5-fpm"]
我不明白。这是为什么?为什么第一行不是正确的方法?有人可以向我解释这些“CMD shell 格式与 JSON 格式等”的内容吗?简单来说。
请注意 -正如预期的那样,command:
指令 in也是如此。docker-compose.yml