据我所知,使用-d
选项可以使Docker Container在守护进程或后台运行,没有-d
选项可以使Docker Container在Foreground运行并且cmd阻塞。
我做了很少的测试:
- Docker Container由
tomcat:8.0
Docker Image。 组成
- Docker Container的名称
peaceful_allen
在没有-d
选项的情况下运行。
- Docker Container的名称
pensive_lichterman
以-d
选项运行。
- 所有cmd关闭之前的第一个
docker ps -a
命令。
- 关闭所有cmd后的第二个
docker ps -a
命令。
超过5分钟后,- 第三个
docker ps -a
命令关闭所有cmds。
- 每个Docker容器都在每个cmd中运行。
结果:
- 所有cmd关闭后,所有Docker容器仍在运行。
醇>
结论:
- cmd没有阻挡。
- Docker Container(特别是tomcat的Docker Image)在后台运行,因为所有阻塞cmd都已关闭但Docker容器仍在运行。
醇>
我希望没有-d
选项,当按ctrl + c或关闭cmd时,Docker Container将被终止。但结果却不是。这有什么不对?