Сегодня я развернул экземпляр MediaWiki, используя образ докера appcontainers / mediawiki, и теперь у меня возникла новая проблема, для которой я не могу найти никаких подсказок. После попытки присоединиться к переднему контейнеру mediawiki с помощью:
docker attach mediawiki_web_1
который отвечает Terminated
на мою конфигурацию по причине, которую я игнорирую, пытаясь также:
docker exec -it mediawiki_web_1 bash
Я получаю что-то похожее на сообщение об ошибке:
Error response from daemon: Container 81c07e4a69519c785b12ce4512a8ec76a10231ecfb30522e714b0ae53a0c9c68 is restarting, wait until the container is running
И есть моя новая проблема, потому что этот контейнер никогда не перестает перезапускаться. Я вижу то использование, docker ps -a
которое всегда возвращает СТАТУС Restarting (127) x seconds ago
.
Дело в том, что я могу остановить контейнер (я тестировал), но запуск его снова, кажется, возвращает его в цикл перезапуска.
Есть идеи, в чем может быть проблема? Все работало нормально, пока я не попытался к нему прикрепить ...
Мне грустно :-(
Ответы:
Команда
docker logs
покажет вам результат, создаваемый контейнером, если вы не запускаете его в интерактивном режиме. Вероятно, это будет содержать сообщение об ошибке.Вы также можете запустить новый контейнер на переднем плане,
docker run -ti <your_wiki_image>
чтобы увидеть, что он делает. Возможно, вам потребуется сопоставить некоторую конфигурацию из вашегоdocker-compose
yml сdocker
командой.Я предполагаю, что подключение к процессу медиа-вики вызвало сбой, который повредил что-то в ваших данных.
источник
2016-05-26T16:38:27.362409489Z * Stopping web server apache2 * 2016-05-26T21:49:11.376549083Z Terminated 2016-05-26T21:49:11.688655642Z /bin/bash: /tmp/.runconfig.sh: No such file or directory
Итак, вы правы, что-то повреждено в данных, поскольку runconfig.sh, похоже, исчез. Я попытаюсь запустить контейнер еще раз на переднем плане, как вы посоветовали. Просто нужно найти, как указать 25 правильных аргументов ^^docker ps -a
показал мне, что он застрял в цикле загрузки, и ваша команда показала мне, почему: файлы уже в каталоге mysql, которые он не может удалить. Ты избавил меня от лишних часов выдергивания волос. Спасибо!Когда
docker kill CONTAINER_ID
не работает иdocker stop -t 1 CONTAINER_ID
тоже не работает, можно попробовать удалить контейнер:Сегодня у меня была аналогичная проблема, когда контейнеры находились в непрерывном цикле перезапуска.
В моем случае проблема была связана с тем, что я был плохим инженером.
В любом случае я исправил проблему, удалив контейнер, исправив код, а затем перестроив и запустив контейнер.
Надеюсь, что это поможет кому-нибудь решить эту проблему в будущем.
источник
restart: always
что оставило меня в цикле докеров, пытающихся запустить сломанное приложение .. :(Из личного опыта похоже, что в вашем контейнере докеров есть проблема, которая не позволяет ему перезапускаться. Таким образом, какой-то процесс в контейнере вызывает зависание перезапуска или какой-то процесс вызывает сбой контейнера при запуске.
Когда вы запускаете контейнер, убедитесь, что вы запускаете его отдельно от «-d», если вы собираетесь к нему присоединиться. (например, "docker run -d mediawiki_web_1")
источник
tl; dr Он перезапускается с кодом состояния
127
, что означает, что в вашем контейнере отсутствует файл / библиотека. Запуск нового контейнера может исправить это.Пояснение:
Насколько я понимаю Docker, происходит следующее:
127
, который объясняется в этом ответе .no
( по умолчанию ) (с использованием флага командной строки--restart
илиdocker-compose.yml
ключаrestart
) при запуске контейнера.Решение: что-то могло повредить ваш контейнер. В идеале для этого подойдет запуск нового контейнера.
источник
Это также может иметь место, если вы создали
systemd
службу, которая имеет:источник
В моем случае контейнер nginx продолжал перезапускаться, я проверил журналы контейнера nginx и узнал, что в файлах .crt и .key ненужного домена есть ошибки, поэтому я удалил соответствующие файлы .conf, .crt и .key, а затем перезапустил nginx. Вот и все, что nginx работает без перезагрузки.
источник
Я забыл, что Minikube работает в фоновом режиме, и это то, что всегда перезапускало их
источник
Сначала проверьте журналы, почему контейнер вышел из строя. Потому что ваша политика перезапуска может вернуть ваш контейнер в рабочее состояние. Лучше исправить проблему. Тогда, возможно, вы сможете создать новый образ с исправлением или без него. Позже выполните команду ниже
docker system prune
https://forums.docker.com/t/docker-registry-in-restarting-1-status-forever/12717/3
источник
Попробуйте добавить эти параметры в ваш файл docker yml
Окончательный файл должен выглядеть примерно так
источник