2017-07-03 69 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'命令启动会更好。 –