无法与docker容器交互:停止、rm、检查。。。命令行刚刚中断
我的docker swarm中有几个集装箱有问题。我试图阻止他们,但什么也没发生。每次我尝试与他们交互(检查、控制台、kill、rm甚至使用-f)时,都没有发生任何事情,命令行一直被卡住,直到我按下Ctrl+C。有趣的是docker ls显示他们“健康” 重启docker服务似乎是此类行为的常见解决方案,但由于这是一个运行大量其他服务的生产环境,我无法做到这一点。其余的容器、服务、堆栈。。。按预期工作 是否有任何可能或替代方法移除/杀死该容器无法与docker容器交互:停止、rm、检查。。。命令行刚刚中断,docker,Docker,我的docker swarm中有几个集装箱有问题。我试图阻止他们,但什么也没发生。每次我尝试与他们交互(检查、控制台、kill、rm甚至使用-f)时,都没有发生任何事情,命令行一直被卡住,直到我按下Ctrl+C。有趣的是docker ls显示他们“健康” 重启docker服务似乎是此类行为的常见解决方案,但由于这是一个运行大量其他服务的生产环境,我无法做到这一点。其余的容器、服务、堆栈。。。按预期工作 是否有任何可能或替代方法移除/杀死该容器 xxxxx1 amancevice/superset
xxxxx1 amancevice/superset:0.27.0 "gunicorn superset:a…" 2 months ago Up 2 months (healthy) 8088/tcp prd_yyyy_superset_dashboard.
xxxxx2 xxxxxxx/mysql-xxxxxx:5911 "docker-entrypoint.s…" 2 months ago Up 2 months 3306/tcp prd_yyyy_api_mysql.1.
xxxxx3 amancevice/superset:0.27.0 "gunicorn superset:a…" 2 months ago Up 2 months (healthy) 8088/tcp prd_yyyy_superset_dashboard.1
Docker版本17.12.0-ce,内部版本c97c6d6
更新:
我刚刚发现,在我的码头工人群中,有更多的“健康”集装箱具有相同的行为。我不能以任何方式与他们互动,不能杀死、重启、检查、移除或什么都不做。他们就在那里
d7c13e9d8115 amancevice/superset:0.27.0 "gunicorn superset:a…" 2 months ago Up 2 months (healthy) 8088/tcp
7137cf54fe56 amancevice/superset:0.27.0 "gunicorn superset:a…" 2 months ago Up 2 months (healthy) 8088/tcp prd_avis_superset_dashboard.1.s5x7cktaiwhv6juv6f7nmpfv6
43fe34109330 amancevice/superset:0.27.0 "gunicorn superset:a…" 2 months ago Up 2 months (healthy) 8088/tcp
ccf45223b412 amancevice/superset:0.27.0 "gunicorn superset:a…" 2 months ago Up 2 months (healthy) 8088/tcp
253f411cd403 amancevice/superset:0.27.0 "gunicorn superset:a…" 2 months ago Up 2 months (healthy) 8088/tcp prd_philips_superset_dashboard.1.qfyufa6flfzz0vgqebkzu1432
ff14a3967b7b amancevice/superset:0.27.0 "gunicorn superset:a…" 2 months ago Up 2 months (healthy) 8088/tcp
987f22985036 amancevice/superset:0.27.0 "gunicorn superset:a…" 2 months ago Up 2 months (healthy) 8088/tcp
27f42f0733aa kibana:5.6.11 "/docker-entrypoint.…" 2 months ago Up 2 months (healthy) 5601/tcp
b77a12659bcc amancevice/superset:0.27.0 "gunicorn superset:a…" 2 months ago Up 2 months (healthy) 8088/tcp
628842bc6e2a amancevice/superset:0.27.0 "gunicorn superset:a…" 2 months ago Up 2 months (healthy) 8088/tcp
更新2:修复
我不知道这是否是更好的方法,但最后我发现终止进程似乎是能够重新启动服务的更简单的方法
只需使用以下命令获取进程id:
# ps -ef | grep 43fe34109330
root 8789 32768 0 2018 ? 00:00:40 docker-containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/43fe3410933077a0f6c98cbbc04e4db4d2eae1b37f073059b4f76a4f8478dd15 -address /var/run/docker/containerd/docker-containerd.sock -containerd-binary /usr/bin/docker-containerd -runtime-root /var/run/docker/runtime-runc
然后用它杀死它
#kill 8789
容器终于结束了,我可以再次创建它。尝试使用docker exec终止容器中的进程gunicorn,即使我怀疑它是否有效,如果容器冻结。说:“如果守护程序完全没有响应,您还可以通过向Docker守护程序发送SIGUSR信号,强制将所有线程的完整堆栈跟踪添加到守护程序日志中。”感谢您的帮助,但无法访问该进程,但是您回答了,请给我查找容器进程id的线索并将其杀死