"docker stop"、"docker kill" 和 "docker -f rm" 都不起作用
Neither "docker stop", "docker kill" nor "docker -f rm" works
尝试使用上述任一命令从 this image 停止容器会导致 docker 无限期等待。容器仍然可以在 docker ps
输出中观察到。
抱歉新手问题,如何正确停止容器?
根据 hub.docker.com 上的说明,此容器首先 运行,按 Ctrl+C 停止,然后按 docker start <containter-name>
再次启动。启动后,它从未按预期工作。
docker stop <container-name>
是停止容器的正确方法。可能里面发生了什么,你可以尝试使用 docker logs <container-name>
来给你更多关于里面 运行 的信息。
你的测试对我有用:
→ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
853e36b8a952 jleight/opentsdb "/usr/bin/supervisord" 9 minutes ago Up 9 minutes 0.0.0.0:4242->4242/tcp fervent_hypatia
→ docker stop fervent_hypatia
fervent_hypatia
→ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
花了一点时间,但我认为这是因为 Docker 图像正在使用主管进程,所以 SIGTERM(这是 docker 停止首先发送的)不会杀死容器,但是 SIGKILL,默认情况下应该在 10 秒后发送(我的等待时间约为 10 秒)。
以防万一您的默认值由于某种原因而被弄乱,请尝试明确指出超时:
docker stop --time=2 <container-name>
尝试使用上述任一命令从 this image 停止容器会导致 docker 无限期等待。容器仍然可以在 docker ps
输出中观察到。
抱歉新手问题,如何正确停止容器?
根据 hub.docker.com 上的说明,此容器首先 运行,按 Ctrl+C 停止,然后按 docker start <containter-name>
再次启动。启动后,它从未按预期工作。
docker stop <container-name>
是停止容器的正确方法。可能里面发生了什么,你可以尝试使用 docker logs <container-name>
来给你更多关于里面 运行 的信息。
你的测试对我有用:
→ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
853e36b8a952 jleight/opentsdb "/usr/bin/supervisord" 9 minutes ago Up 9 minutes 0.0.0.0:4242->4242/tcp fervent_hypatia
→ docker stop fervent_hypatia
fervent_hypatia
→ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
花了一点时间,但我认为这是因为 Docker 图像正在使用主管进程,所以 SIGTERM(这是 docker 停止首先发送的)不会杀死容器,但是 SIGKILL,默认情况下应该在 10 秒后发送(我的等待时间约为 10 秒)。
以防万一您的默认值由于某种原因而被弄乱,请尝试明确指出超时:
docker stop --time=2 <container-name>