докере на orangepi. И есть скрипт, который ломится в эту монгу на питоне.
Когда происходит ребут, скрипт поднимается и долбится на порт localhost:27017 и не доступается туда никогда.
Но стоит мне зайти на машинку по SSH и выполнить команду docker ps, которая показывает мне запущенный контейнер с монгой. И внезапно порт становится открыт и скрипт начинает доступаться до монги...
Даже мыслей нет, что может быть пичиной. Разьве что какой-то сокет докера поднимается только по docker ps или типа того....
Порт открывается именно после docker ps, или достаточно войти через ssh?
скрип крутится в своем контейнере?
Нет, нативно на машине. Да и это не важно. Даже netstat -nlpt не показывает открытого порта, пока не сделаешь docker ps после ребута
может контейнер долго запускается
Да сколько бы ни ждал, несколько раз повторял, всегда открываются порт сразу после docker ps. Нигде больше такого глюка не встречал, потому вот удвиляюсь и пишу сообществу
повторяется ли поведение на команды? docker info docker version
Пока не знаю, надо потестировать. Хост за ВПНами всякими и там связь не стабильна, как только подключусь, проверю и сообщу.
systemctl status docker.socket курите ДО всяких docker ps, ну и версию docker пакета проверьте
По логике, раз свервис отдаёт список контейнеров, то он уже запущен. Но да, может там чего в логах странного будет. Погляжу, спс.
хрена у вас логика. а что вы знаете про systemd socket activation?
проверь маршруты в фаерволе, последовательность запуска сервисов, после загрузки в какой момент они применяются, может они перетирают правила докера... или может какой то сервис перетирает правила после запуска докера... попробуй другую версию докера... может при старте порт другое приложение занимает и не дает мапить
порт точно свободен нетстат не показывает ничего и там ничего такого не устанавливалось
это предположение, в практике видел что на серваке стоял сервис после решиле перенести в докер с пробросом порта, но сервис не потушили в systemctl (вдруг пригодится), а добавили команду systemctl stop... при входе в консоль
Ну да, я понимаю. Тут не запускалось ничего до запуска контейнера.
По логике, с командой докер стартует, а до нее он не запущен Что выводится на systemctl is-enabled docker.service?
Обсуждают сегодня