2017-07-03 68 views
1

我可以在交互模式下運行此容器,然後啓動Apache服務。這按預期工作。在碼頭集裝箱內啓動服務

# docker run -p 81:80 -it shantanuo/adminer 
[email protected]:/# /etc/init.d/apache2 start 

是否有可能啓動容器和Apache使用相同的命令是這樣的?

docker run -p 81:80 -d shantanuo/adminer /etc/init.d/apache2 start 

上述命令不啓動apache服務也不啓動容器。

回答

0

谷歌是我的朋友:

docker run -p 81:80 -d shantanuo/adminer /bin/bash -c "/usr/sbin/apache2ctl -D FOREGROUND " 
+1

要小心,這樣做,你的過程實際上是'bash'而不是'apache2'。當你發送信號給容器(停止,重新啓動等)時,它們將被'bash'接收到,而不會傳播給apache。改爲使用'/ usr/sbin/apache2ctl -D FOREGROUND'命令啓動會更好。 –