Старый
У тебя swarm?
Не ставить же кубер на хосты такие в соло режим
Andrey
Порт внутри контейнера какой?
Andrey
Ты порядок перепутал вроде
Старый
Ты порядок перепутал вроде
Тогда бы на ipv6 не висел порт 14623, правда он никак не отвечает
Andrey
А ты попробуй поменяй
Andrey
Сначала идёт порт хоста, потом порт внутри контейнера
Andrey
А, у тебя как раз 14623 на хосте, тогда правильно
Старый
Andrey
А 80 внутри контейнера?
Антон
Шалом пипл! У меня маленький вопрос: хелсчеки можно запустить однократно во время сборки docker-compose.yml?
Andrey
Да, но он на ipv6 и недоступен
Это netstat так показывает. Ты пробовал подсоединяться?
Антон
?! и так запускается и продолжает с интервалом проверять же
Так поэтому и спрашиваю. Мне не надо чтобы постоянно долбило сервисы. Мне нужно для проверки состояния контейнера перед запуском следующего.
George
он tcp6, что означает, что корыто слушает и ipv4, и ipv6
George
что значит во время сборки?
George
сборка - это, извини, docker build
Антон
сборка - это, извини, docker build
Сорян. Терминология страдает от нехватки знаний. Оркестрация - правильный в данном контексте термин?
George
если тебе нужно одноразово... ну, кхм, ты можешь заставить хелсчек один раз отрабатывать
George
я делал историю с контейнером миграции
George
он отрабатывает миграцию, потом делает touch /blablabla
George
при наличии файла /blablabla хелсчек становится healthy
George
до этого момента starting
George
и тогда могут стартануть дальнейшие контейнеры
George
но это костыли
George
т.к. докер-компоуз это не про порядок запуска, в общем случае
Антон
я ответил на вопрос?
В целом я понял. Интересно почему в 3 версии компоуз убрали condition? Как по фен-шую организовать порядок запуска?
gani
depends_on на пару важных контейнеров, а остальное пусть само?
George
они не 2-я и 3-я - в смысле 3-я ПОЗЖЕ
George
а в смысле ДВЕ параллельные ветки
George
последняя версия формата ветки 2 - вроде 2.7
George
как бы намекает, да?
gani
а в смысле ДВЕ параллельные ветки
А зачем так они делают?
George
depends_on на пару важных контейнеров, а остальное пусть само?
depends_on в базе умеет ТОЛЬКО смотреть стартанул контейнер
George
А зачем так они делают?
потому что так исторически получилось
George
они запилили 2-ю версию, потом появился сворм и сделали измененный синтаксис в 3-й
George
потом появлялись новые версии докера, с новыми ключами запуска и потихоньку обновляли обе ветки компоузов
Антон
Так как же сделать по нормальному?
George
я предложил вариант. Сделай хитрый хелсчек, depends_on: healthy и имя контейнера, но немного жопной логики
George
либо выноси оркестрацию из докер-компоуза
George
если же все-таки прям клауд нейтив сервисы. То тебе нужно еще где-то сервис дискавери приделать. Т.е. ты запускаешь сервис - он не находит свои зависимости, но не падает, а просто ждет пока они появятся в известном месте
George
но тоже такое
Антон
я предложил вариант. Сделай хитрый хелсчек, depends_on: healthy и имя контейнера, но немного жопной логики
Костыли в самом начале изучения - ни к чему хорошему в будущем не приведут. ИМХО
Антон
Я сейчас погряз поуши в CI/CD, конкретно грызу Gitlab-CI. Он может помочь в решении этой проблемы?
Антон
Кстати раз уж упомянул в суе: я создал акк в гитлабе, импортнул проект из гитхаба, создал ssh ключ, а что дальше делать?
Антон
@gitlab_ru
Спасибо
Антон
@gitlab_ru
4 мембера? Мне там точно помогут?😳
Ильдар
Сорян. @ru_gitlab :)
Ильдар
В целом я понял. Интересно почему в 3 версии компоуз убрали condition? Как по фен-шую организовать порядок запуска?
1. Так сложилось исторически 2. Много думать и по возможности не зависеть от порядка запуска(точнее, готовности) сервисов
George
варианты какие. Можно systemd-юниты писать для докеров. Можно ансибловский плейбук написать. Мейкфайл или баш-скрипт.
George
Если все засунуть в кубернетес, то жизнь становится проще
Ramil
Какой докер веб админкой вы пользуетесь?
Max
Привет, всем! Подскажите, есть ли такая возможность: запустить докер контейнер в отличном network namespace от самого докера, к Примеру докер находится в netns management, а контейнер поместить в netns default и прокинуть все интерфейсы которые находятся в этом namespace?
Mikhail
Ну можно конечно, в этом его и смыл
Max
Ну можно конечно, в этом его и смыл
у меня ничего интересного не нагуглилось на эту тему, можете помочь ссылкой на документ?
Mikhail
Overview | Docker Documentation https://docs.docker.com/network/
Max
Overview | Docker Documentation https://docs.docker.com/network/
тут нет моего решения, читал
Max
когда делаешь хост, то он прокидывает интерфейсы из неймспейса в котором запущен сам докер
Mikhail
По сути ты спрашиваешь, есть ли возможность создать сеть для контейнеров
Mikhail
Да есть, вот статья
Max
По сути ты спрашиваешь, есть ли возможность создать сеть для контейнеров
мне не нужно создавать сеть, задача прокинуть интерфейсы в контейнер, по типу как это делает вариация host, только эти интерфейсы находятся в отличном от самого докера неймспейсе
Mikhail
Мне до сих пор кажется, что тебе нужна сеть
Mikhail
Какие интерфейсы прокинуть? Хоста?
Max
что подразумевается под сетью? создать бридж и замапить инты?
Max
да самого хоста
Max
смысл в том, что мне нужно получиться информацию по lldp о соседях с конкретных интерфейсов в определенном неймспейсе, сам же докер запускается в другом неймспейсе, в котором есть только один интерфейс для управления