У нас есть сервер под управлением CentOS, на котором есть несколько сервисов в контейнерах Docker для отделения их от изменений хоста.
На прошлой неделе в пятницу мы запустили обновление CentOS, и с тех пор одна из наших служб запускается и сразу же закрывается. Другие 15+ услуг в порядке.
Я клонировал настройку контейнера, изменил имя контейнера и перестроил с той же проблемой: контейнер запускается и затем выходит без какого-либо сообщения.
Контейнер получен из контейнера самбы Дэвида Персетта . Фактическая команда, которая сейчас выходит, но не использовалась для:
exec ionice -c 3 smbd -FS
Должен ли я понизить докер, будет ли это иметь побочные эффекты? Могу ли я еще что-нибудь сделать, чтобы это снова заработало? Мы выбрали контейнеры для абстрагирования от операционной системы, разве эта абстракция не так хороша, как ожидалось?
Ответы:
Контейнер выйдет без каких-либо комментариев, если вы не увеличите уровень отладки. Вы можете использовать что-то вроде
--debuglevel=4
.После того, как вы это сделаете, перестроите и перезапустите контейнер, в конце вы получите что-то вроде:
И это указывает на решение, измените
smbd
вызов на:и ваш контейнер больше не должен выходить напрямую.
Я не уверен, что является причиной этого несовместимого изменения и почему оно не было проверено на существующих записях dockerhub.
У меня было два из моих контейнеров перерыв также при обновлении до 1.11. и при понижении до 1.10.3 столкнулся с ужасной
Cannot stop container .... Container does not exist: container destroyed
ошибкой. Мне пришлось остановить докер, очистить всю историю, поэтому я не могу этого порекомендовать.источник