inqfen
Что сокращаешь?
Игорь
Ну то есть ты в ямле 3 контейнера описываешь или в докер композе
Управление сетями в компоуз очень лаконичное Написал три строчки в yml и ок В ансибл так же?
inqfen
Да, одна таска в docker network модуле
Andrey
Ну то есть ты в ямле 3 контейнера описываешь или в докер композе
Ну ты будешь ещё полюбому наворачивать несколько гит реп, следить за версиями в каждой, менять групп варс, вместо одной с которой катится всё
inqfen
Там где код, там и развёртывание инфраструктуры
inqfen
И из неё же при коммите ci собирает и cd деплоит
inqfen
Какой-нибудь travis, gitlab ci etc
Andrey
Какой-нибудь travis, gitlab ci etc
Ну я бы не стал на автомат полагаться, и нафигачил бы тэгов
inqfen
Ладно, не хочешь, не надо, делай как знаешь
Rainbow
Ладно, не хочешь, не надо, делай как знаешь
надо просто пережить всю боль docker-compose на проде
Rainbow
потом боль swarm
Rainbow
потом боль k8s
Rainbow
и отпустит
Rainbow
на время 😖
Игорь
только зачем вводить 2 сущности, если хватит одной
That's fine! In Ansible 2.1, we are introducing the docker_service module, which allows Ansible users to consume docker-compose files directly. Just call the docker_service module from any Ansible playbook, and specify either an external docker-compose file, or put the docker-compose syntax directly into the Ansible playbook itself. А эта фича как?
Igor
Всем еще раз привет) Вопрос: Есть приложение на Angular. Вы делаете образы с включенным туда node_modules или выносите их в volumes? и через entrypoint делаете npm install + npm run build.... и т.д.
Igor
Multi stage build. Все что можно кешируется само.
Но ведь образ тогда весит очень много...
Igor
или я не правильно понимаю?
Andrey
или я не правильно понимаю?
Так докер же многослойный
Andrey
Но ведь образ тогда весит очень много...
Смысл как раз в том что node_modules лежит в контейнере сборки, а не в результирующем. В итоговый образ идет только собранное.
Igor
Так докер же многослойный
Да, но образ который весит много - пугает) У меня сейчас образ весит - Виртуальный размер 31,1 МБ
Andrey
Аааа стоп, он сделает внутри build, потом затрет?
Собирать он будет в другом контейнере. А в результирующий пойдет только то что собралось. Без зависимостей.
Andrey
https://dev.to/avatsaev/create-efficient-angular-docker-images-with-multi-stage-builds-1f3n
Andrey
Вот первое что гуглится.
Andrey
Весь смысл вот в этих строках: FROM node:10-alpine as builder COPY package.json package-lock.json ./ ## Storing node modules on a separate layer will prevent unnecessary npm installs at each build RUN npm ci && mkdir /ng-app && mv ./node_modules ./ng-app
Igor
Вот первое что гуглится.
как раз смотрю на этот пример, но если после этого нужно еще запускать будет node (как SSR)
Mikalai
С ssr под ангуляр
Andrey
Ssr на сколько я понимаю без node_modules не заведется.
Igor
Могу поделиться готовым докерфайлом
Кинь пжлст) смысл понимаю, но как сейчас работает не нравится - т.к. я удерживаю node_modules в volume
Andrey
Заведется
О! Тогда и со мной поделись)
Igor
Ssr на сколько я понимаю без node_modules не заведется.
Заведется) т.к. node сервит отдельно файл только)
Anonymous
Подскажите как обновлять состояние контейнера к примеру у меня есть сервер и есть на нем файл к примеру txt с каждым запросом число в этом файле становится ++ и сохраняется, такой вопрос как быть если контейнер «вдруг отключился»
Anonymous
Спасибо изучу
Anonymous
данные пропали ?
Igor
Спасибо изучу
в docker-compose (у меня swarm) healthcheck: test: ["CMD","redis-cli","ping"]
Mikalai
О! Тогда и со мной поделись)
https://gist.github.com/MikalaiR/0680b5568d6f7a6de3e2b7e1ac323dcd
Andrey
данные пропали ?
Нет, они остались там где были)
Anonymous
Они как бы все, ушли в лета
Mikalai
https://gist.github.com/MikalaiR/0680b5568d6f7a6de3e2b7e1ac323dcd
Хотя там наверное не очень пример) Вместо npm install точно надо юзать npm ci
Andrey
https://gist.github.com/MikalaiR/0680b5568d6f7a6de3e2b7e1ac323dcd
Аааа, я понял, ты вытаскиваешь не все. Круто. Я так глубоко не лазил.
Mikalai
В смысле как?
Mikalai
Он вроде там только для того чтобы нода внутри контейнера скейлилась 😁
Igor
В смысле как?
Вот я и думаю, ведь 1 контейнер = 1 нода)
Igor
Он вроде там только для того чтобы нода внутри контейнера скейлилась 😁
Если не хватает производительности - увеличиваем кол-во контейнеров и через ingress (ну или upstream nginx и весы)
Anonymous
Уважаемые: docker run -it -v name:/html --name name name Поясните какова роль папки html в этой движухе
Anonymous
Я понял сам
Anonymous
Инсайды это лучшее что изобрело человечество
Anonymous
А что если сервере перезагружается докер сам заново запускается ?
Rainbow
А что если сервере перезагружается докер сам заново запускается ?
https://docs.docker.com/config/containers/start-containers-automatically/#use-a-restart-policy
🤔
/report
Ильдар
@vizdrag просыпайся
Ильдар
Уважаемые: docker run -it -v name:/html --name name name Поясните какова роль папки html в этой движухе
Начни с доки https://docs.docker.com/get-started/ https://docs.docker.com/storage/volumes/ https://docs.docker.com/engine/reference/commandline/run/
Ильдар
ямл везде один!)
One YAML to rule them all
Alexei
Если можно, то продолжу вопросы по ансибл + докер. Вопрос по сборке. В теории что хочется: уже поднял связку gogs + drone . Хочется собирать образы, по push в git в определенную ветку, и автоматически накатывать на сервер этот образ. Застрял на самом простом -на сборке образа. Просто не понимаю, что к чему и как... :(
Ильдар
Образ чего?
Alexei
docker образ c моим java приложением
Ильдар
http://lmgtfy.com/?q=dockerfile+java+example
Alexei
хм, уточню. Руками я могу собрать образ. Вопрос в том, что я хочу это делать: 1. Автоматически 2. "Идеологически правильно" и вот тут все плохо: Где должна происходить сборка? (сам дрон запускает контейнер для сборки, в нем проект собирается. Собирается не docker.image а именно jar. Где дальше должна происходить сборка docker.image? внутри нового контенера? или внутри этого же? Как дальше закидывать этот собраный образ в локальный registry?
Alexei
ага, то есть это 2 разных шага получается? сборка проекта и сборка образа. уже понятнее... :)
Mentat
Да
Alexei
Хм, а арифактори, получается, надо отдельно поднимать локальный для всех сборок? он же и кэширующий будет?
Minor
Вопрос по Nginx: где находиться папка или как, куда кидать файли сайта? OS: Ubuntu 18.10. Run comand: docker run --name some-nginx -d -p 8080:80 nginx
Petrovich
/etc/nginx/sites-available
Petrovich
как nginx настроишь, так он и поедет