Докер убивает все процессы через 5 минут, а также не может запустить созданные контейнерыLinux

Ответить
Anonymous
 Докер убивает все процессы через 5 минут, а также не может запустить созданные контейнеры

Сообщение Anonymous »

В течение многих лет я без проблем запускал два веб-сайта, используя несколько контейнеров Docker на виртуальном сервере, на котором когда-то была установлена ​​CoreOS. И я никогда не сталкивался с ситуацией, которую бы не понимал.
До сих пор. С прошлой недели я борюсь с явлениями, которые не могу ни понять, ни взять под контроль.

Предпосылка

По какой-то причине мне пришлось перезагрузить машину. Не удалось выполнить автоматический процесс запуска контейнеров. Я ничего не менял на машине, так что это было неожиданно и понятия не имел.
Поэтому я приостановил автоматический процесс, чтобы иметь возможность исследовать это явление. Для начала я убедился, что машина хотя бы сам процесс Docker запускает корректно и без ошибок:

Код: Выделить всё

# systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2024-07-14 19:05:13 CEST; 7s ago
Docs: https://docs.docker.com
Main PID: 123469 (dockerd)
Tasks: 8
Memory: 80.4M
CGroup: /system.slice/docker.service
└─123469 /usr/bin/dockerd -H fd://

Jul 14 19:05:13 IONOS-1 dockerd[123469]: time="2024-07-14T19:05:13.067795763+02:00" level=info msg="Graph migration to content-addressability took 0.00 seconds"
Jul 14 19:05:13 IONOS-1 dockerd[123469]: time="2024-07-14T19:05:13.068075039+02:00" level=warning msg="Your kernel does not support cgroup blkio weight"
Jul 14 19:05:13 IONOS-1 dockerd[123469]: time="2024-07-14T19:05:13.068092922+02:00" level=warning msg="Your kernel does not support cgroup blkio weight_device"
Jul 14 19:05:13 IONOS-1 dockerd[123469]: time="2024-07-14T19:05:13.068447780+02:00" level=info msg="Loading containers: start."
Jul 14 19:05:13 IONOS-1 dockerd[123469]: time="2024-07-14T19:05:13.278561566+02:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to>
Jul 14 19:05:13 IONOS-1 dockerd[123469]: time="2024-07-14T19:05:13.370232284+02:00" level=info msg="Loading containers: done."
Jul 14 19:05:13 IONOS-1 dockerd[123469]: time="2024-07-14T19:05:13.390172816+02:00" level=info msg="Docker daemon" commit=4c52b90 graphdriver(s)=overlay2 version=18.09.1
Jul 14 19:05:13 IONOS-1 dockerd[123469]: time="2024-07-14T19:05:13.390223822+02:00" level=info msg="Daemon has completed initialization"
Jul 14 19:05:13 IONOS-1 dockerd[123469]: time="2024-07-14T19:05:13.455692794+02:00" level=info msg="API listen on /var/run/docker.sock"
Jul 14 19:05:13 IONOS-1 systemd[1]: Started Docker Application Container Engine.
Мое исследование предупреждений относительно blkio показало, что ими можно пренебречь.

Мой исходный стек

Когда я запускаю процесс запуска, например развертывание стека docker -c /root/external.net/wp/docker-compose.yml wp, я замечаю, что все контейнеры появляются в обзоре со статусом создан, но ни один из них не переходит в обычный статус: работает:

Код: Выделить всё

Creating network wp_back_ntw
Creating service wp_adm
Creating service wp_joe
Creating service wp_wp
Creating service wp_master
Вместо этого через некоторое время все контейнеры перезапускаются, и это повторяется бесконечно, накапливая созданные контейнеры, никогда не приводя к запуску ни одного из них. Я убедился, что ни один из контейнеров в моем файле .yml не имеет инструкции по перезапуску, поэтому я уверен, что не перезапущу себя.
Сначала я попытался удалить мусор с помощью своей универсальной команды очистки. :

Код: Выделить всё

docker ps -a | grep 'ted'| awk {'print $1'} |xargs docker rm -v; docker ps -a | grep 'ead'| awk {'print $1'} |xargs docker rm -v
Но это не останавливает процесс воспроизведения, он просто начинается заново. Поэтому, не мудрствуя лукаво, я прибегнул к серии команд, которые скопировал откуда-то еще (не понимая последствий), но ранее успешно использовал несколько раз:

Код: Выделить всё

systemctl stop docker
rm -rf /var/lib/docker
systemctl start docker

Процедура прошла нормально, как и ожидалось.

Отступаем

Чтобы изолировать проблемы и получить больше поняв это, я перешел на использование команды run и обычных тестовых процедур, которые обязательно должны работать как положено:

Код: Выделить всё

docker run -d --name loop-demo alpine sh -c "while true; do sleep 1; done"
docker run -d --name sleep-demo alpine sleep infinity
docker run -d --name tail-demo alpine tail -f /dev/null
docker run -dt --name tty-demo alpine
Я ожидал, что эти контейнеры будут работать бесконечно, но они были надежно завершены докером через 5 минут:

Код: Выделить всё

# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS                        PORTS               NAMES
5666ba05baf1        alpine              "sh -c 'while true; …"   About a minute ago   Exited (137) 34 seconds ago                       loop-demo
cef06c31d246        alpine              "sleep infinity"         2 minutes ago        Exited (137) 34 seconds ago                       sleep-demo
cd813e81f3c6        alpine              "/bin/sh"                3 minutes ago        Exited (137) 34 seconds ago                       tty-demo
8aa49ec219cd        alpine              "tail -f /dev/null"      5 minutes ago        Exited (137) 33 seconds ago                       tail-demo
Этого не ожидается. Кроме того, мне непонятен лог, например:

Код: Выделить всё

# docker logs cd813e81f3c6
/ #
Я попробовал то же самое с контейнером в своем стеке, с тем же результатом: он работал всего 5 минут. Ну, по крайней мере, он работает до сих пор и не остается навсегда в созданном режиме, в отличие от развертывания в виде стека. Мне все это очень незнакомо и непонятно. Наконец-то у меня закончились идеи, и я смиренно обращаюсь за помощью.

Есть идеи или идеи?

Теперь мои вопросы:
  • сталкивался ли кто-нибудь с подобным поведением
  • что я делаю не так
  • что я могу узнайте из этой настройки
  • как я могу продолжить исследование этого сценария
  • и как я могу сделать так, чтобы все работало так же надежно, как и раньше
  • и, наконец, как такое вообще могло произойти?
Спасибо за чтение и ваши усилия.

Подробнее здесь: https://stackoverflow.com/questions/787 ... ainers-run
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»