为什么我的docker容器的Apache服务将被closures,每当我附上我的容器,然后退出?

我在Docker容器中发现了一个有趣的行为,或者我实际上是在错误地使用它。 这是我的经验

每次当我附加到我的容器,然后退出我的容器,我的apache服务将被closures,我需要做的是重新回到并再次运行Apache服务器…是这样的正常? (我的容器只是一个正常的灯pipe)

docker attach 8d009c6b9a3f root@8d009c6b9a3f# exit // and my apache will be shut down 

仅供参考,我正在使用Mac和docker机。

正如我在“ docker attachdocker exec之间的区别 ”中所解释的那样, docker attach命令用于附加到现有进程。
所以当你退出,你退出现有的进程(运行你的Apache服务器)。

尝试使用docker exec

 docker exec -it 8d009c6b9a3f bash 

这将打开一个单独的进程(这里是一个bash),从中可以退出而不影响入口点进程。

不要input退出,因为这意味着你正在closures容器。

ctrl p + ctrl q (按住ctrl的同时按p和q)退出容器而不退出

查看详情http://docs.docker.com/articles/basics/#running-an-interactive-shell

您可能希望使用选项-d将Docker容器作为后台进程运行。

 docker run -d