我在docker容器中发现了一个有趣的行为,或者我实际上错了。这是我的经历
每次当我连接到我的容器然后退出我的容器时,我的apache服务将被关闭,我需要做的是重新连接并再次运行apache服务器......这是正常的吗? (我的容器只是一个普通的灯堆)
docker attach 8d009c6b9a3f
root@8d009c6b9a3f# exit // and my apache will be shut down
仅供参考,我使用的是Mac和泊坞机。
答案 0 :(得分:1)
正如我在" difference between docker attach
and docker exec
"中所解释的那样,docker attach
命令用于附加到现有流程。
因此,当您退出时,退出现有进程(运行Apache服务器的进程)。
请尝试使用docker exec
:
docker exec -it 8d009c6b9a3f bash
这将打开一个单独的进程(此处为bash),您可以从该进程退出而不会影响入口点进程。
答案 1 :(得分:1)
请勿键入exit,因为这意味着您正在关闭容器。
ctrl p + ctrl q
(按住p和q时按住Ctrl键)退出容器而不退出
查看详情 http://docs.docker.com/articles/basics/#running-an-interactive-shell
答案 2 :(得分:-1)
您可能希望使用选项-d
将docker容器作为守护程序运行。
docker run -d