manefesto
это доставка новой версии контейнера на прод
manefesto
просто этот момент когда я один контейнер заменяю другим
Gleb
просто этот момент когда я один контейнер заменяю другим
ну тебе надо минимум 2 контейнера, дальше есть варианты, например на баланисировщике хелсчеки, выключаешь контейнер балансировщик не шлет трафик на него, обновлянешь, включаешь, делаешь то же самое со вторым контейнером
manefesto
да
manefesto
да это понятно
Andrey
Ну вот чтож сразу с козырей ;)
manefesto
мне подсказали что так ingress работает
Gleb
примеров на гитхабе полно для подумать
Gleb
мне подсказали что так ingress работает
ну знаешь если у тебя всего 2 контейнера и ты сразу в куб покатишься то может оказаться что тебе куб админить очень много надо будет, больше чем тебе хочется
manefesto
Это я понимаю, хотел более простого решения
Gleb
https://github.com/elafarge/docker-bluegreen
https://github.com/Sinkler/docker-nginx-blue-green
ну тут примеры на тему как я выше писал.
есть вариант с почти кубом - k3s - https://k3s.io/
Gleb
но в k3s своя наркомания местами
George
George
нужен спереди nginx, например, который будет роутить трафик
George
manefesto
конечно же да
Gleb
ток если че в примере выше очень плохие примеры хелсчеков
.
manefesto
поподробней
.
поподробней
docker-compose pull
docker stack deploy -c docker-compose.yml
.
Желательно поставить нормальный прокси, чтобы не слал трафик на неготовые контейнеры
.
Traefik тут поможет
.
поподробней
Я относительно новичек) лучше прислушайся к более опытным
manefesto
Да я думал про docker swarm, но говорят он не дожидается когда все клиенты отпадут
fLipE
всем привет)
знаком с докером довольно недавно, но собираюсь использовать его в одном проекте.
подскажите, пожалуйста, пару моментов.
есть проект, в папке которого находятся:
docker-compose,
папки по названиям сервисов (контейнеров), в которых находятся конфиги, данные и прочее,
отдельная папка src, содержащая непосредственно проект.
я собираюсь это всё включить в гит-репозиторий и через битбакет загнать это всё на сервер. такой подход верен, или стоит поступить как-то иначе?
возможно ли в дальнейшем например из двух серверов, запущенных через docker-compose, создать рой? или для этого нужно обязательно поднимать сервера через docker-machine?
стоит ли вообще использовать docker swarm, если сервера будут в yandex cloud и у них там есть свой балансировщик нагрузки?
George
всем привет)
знаком с докером довольно недавно, но собираюсь использовать его в одном проекте.
подскажите, пожалуйста, пару моментов.
есть проект, в папке которого находятся:
docker-compose,
папки по названиям сервисов (контейнеров), в которых находятся конфиги, данные и прочее,
отдельная папка src, содержащая непосредственно проект.
я собираюсь это всё включить в гит-репозиторий и через битбакет загнать это всё на сервер. такой подход верен, или стоит поступить как-то иначе?
возможно ли в дальнейшем например из двух серверов, запущенных через docker-compose, создать рой? или для этого нужно обязательно поднимать сервера через docker-machine?
стоит ли вообще использовать docker swarm, если сервера будут в yandex cloud и у них там есть свой балансировщик нагрузки?
Насчёт Гита - да, норм практика. Вместо битбакета посмотри на гитлаб. В последнем есть ci.
Насчёт Яндекса - попробуй сразу тамошний кубернетес.
Сворм - ну, такое себе. Кто-то использует, но таковых мало
fLipE
fLipE
а сворм почему не юзают?
отдельные балансеры лучше?
George
спасибо)
в кубернетес пока не вникал, попробую)
Насчёт компоуза. Для разворачивания на машине разработчика набора сервисов - нормально. Но не для продакшена (исключение - сворм, для которого это нативный метод описания сервисов )
fLipE
George
George
1. Берешь ансибл. Берешь docker_container. Описываешь процесс деплоя контейнеров. Профит. Ничего лишнего. Порог входа низкий.
Sergey
а где вот про это почитать? юзаю ансибил, юзаю докер. А как всё вместе, я чот не вкурю
George
2. Берешь компоуз. Как-то нужно установить сам докер-компоуз. Как-то нужно доставить на удалённую машину файл докер компоуза. Далее - стартуешь docker-compose up, а после перезапуска сервера все сервисы лежат - оказывается, что ты забыл restart: always
Sergey
аа, речь про то что ансиблом скачать и запустить просто контейнер?
George
Sergey
нашёл, спасибо :)
Sergey
ну мож это и оправдано
fLipE
понял, спасибо)
Mihail
Всем привет!
Словили в проде вот такую ошибку в /var/log/messages
dockerd: level=warning msg="Health check for container error: context deadline exceeded
После этого контейнер выбивается из кластера, и срабатывают один за другим хелсчеки ECS+Amazon TG
кто-то сталкивался с такой ошибкой, это внутренний хелсчек докера, или что-то другое не отработало?
kSandr
https://success.docker.com/article/health-check-error-context-cancelled
Mihail
Levan (Leo)
В Dockerfile не проходит "dpkg" в RUN для распаковки "deb" file , подскажите взамен что использовать можно.)
Andrey
что значит не проходит?
Levan (Leo)
пишет ,что такой каманды нет
George
Покажи докерфайл
Levan (Leo)
Levan (Leo)
Error response from daemon: Dockerfile parse error line 9: unknown instruction: 'DPKG
George
Фак
George
У тебя на предыдущей строчке нет в конце \
George
А ты в чудеса веришь 🤦♂🤦♂🤦♂
George
Ну, и вообще bash -c будто лишний. RUN и так все команды норм вызывает
Levan (Leo)
У меня очень много RUN выходит в сумме
Levan (Leo)
Да и я хотел что бы один RAN на одну прогу
George
Ты попросту его криво написал. И все
Рубикон
А селениума оазве не в репах и не в pip нету?
Levan (Leo)
Я в первый раз пишу Dockerfile, покак не все тонкасти знаю (
Levan (Leo)
Да и я 3 образа впихнул в один фаил
Levan (Leo)
Ну я так и пишу
Driver
корень забит
Levan (Leo)
Хм , с выбором окружения (FROM python ) заодно и скачает python
Levan (Leo)
Или его отдельно надо вписать (RUN python 3.7.3)
Levan (Leo)
?
Кирило
Всем привет.
Подскажите пожалуйста, про докер на windows 10 home
1. Я правильно понимаю, что нужно в VM добавлять каждый раз папку, к которой нужно разрешить доступ?
2. Я правильно понимаю, что надо отдельно ручками каждый раз запускать VM?
3. После запуска VM и попытки запуска контейнера , ошибка в консоли гласит: could not read CA certificate "C:\\Users\\username\\.docker\\machine\\machines\\default\\ca.pem": open C:\Users\username\.docker\machine\machines\default\ca.pem: The system cannot find the file specified.
George
Alexey
кто-то пользовался laradock? Не могу заставить работать mysql из его пакета
manefesto
ребята пользуются, но как там дела обстоят не знаю, он по сути же ui для докера
Константин
всем привет, подскажите в чем может быть проблема
manefesto
шото с сетью =)
George
локальный кэш для pypi подними
Константин
шото с сетью =)
с хостовой машины без докера те же пакеты ставятся
Константин
manefesto
попробуй собрать
docker-compose build --no-cache
manefesto
вообще я думаю сначала собирать, а потом запускать
manefesto
и зачем делать run ?
просто переопредели entrypoint