Невозможно взаимодействовать с Docker-контейнером: stop, rm, inspect ... командная строка просто застряла - PullRequest
0 голосов
/ 04 февраля 2019

У меня проблемы с парой контейнеров в моем рое докера.Я пытался остановить их, но ничего не происходит.Каждый раз, когда я пытаюсь взаимодействовать с ними (проверять, консоль, убивать, rm даже с -f), ничего не происходит, и командная строка застревает до тех пор, пока я не нажму 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

Обновление: ятолько что обнаружил, что в моем докере больше "здоровых" контейнеров с таким же поведением.Я никак не могу с ними взаимодействовать, не могу убивать, перезапускать, проверять, удалять или ничего не делать.Они просто есть

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: ИСПРАВЛЕНИЕ Я не знаю, является ли это лучшим способом, но в конце концов я обнаружил, что уничтожение процесса кажется более простым способом перезапустить службу.

Просто получите идентификатор процесса с помощью:

# 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

Контейнер наконец-то заканчивается, и я могу создать его снова.

1 Ответ

0 голосов
/ 04 февраля 2019

Попробуйте, может быть, убить процесс gunicorn в ваших контейнерах с помощью docker exec , даже если я сомневаюсь, что это будет работать, если контейнеры заморожены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...