我的Docker集群中有几个容器出现问题。我试图阻止他们,但没有任何反应。每次我尝试与它们进行交互(检查,控制台,杀死,甚至使用-f进行rm命令)都不会发生任何事情,并且命令行会卡住,直到我按Ctrl + C为止。有趣的是,docker ls将其显示为“健康”。
重启docker服务似乎是此类行为的常用解决方案,但就生产环境而言,它运行着许多其他服务,我无法做到这一点。其余的容器,服务,堆栈...按预期工作。
是否有其他方法可以删除/杀死该容器?
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
更新: 我刚刚发现我的Docker集群中有更多具有相同行为的“健康”容器。我无法以任何方式与他们互动,无法杀死,重新启动,检查,移除或什么也不做。他们就在那里
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:FIX 我不知道这是否是更好的方法,但最终我发现取消进程似乎是更简单的重新启动服务的方法。
只需使用以下方法获取进程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
容器终于结束了,我能够再次创建它。
答案 0 :(得分:-1)
尝试使用 docker exec 杀死容器中的 gunicorn 进程,即使我怀疑如果容器被冻结也能奏效。