Vladislav 👻
Vladislav 👻
Мы отдельно собираем в контейнере и в отдельном запускаем
Alexei
так потому тут и спрашиваю.
о, а как оно выглядит? в плане: вот идет сборка в контейнере, это понятно, а как потом наружу jar выкидывается?
Vladislav 👻
В артифактори закидывает
Vladislav 👻
У нас есть образ для сборки, есть пайплайн через этот образ, где на выходе жарка в артифактори. И есть пайплайн для деплоя, где берется второй готовый образ, накидывается жарка и в прод
Alexei
В артифактори закидывает
эээ, в смысле первый шаг после сборки кидает в maven репозиторий, а второй шаг из него берет?
Alexei
я правильно понял?
Vladislav 👻
Ага
Alexei
а это общая практика? или у каждого по своему?
Vladislav 👻
Кто как хочет, но вариант собирать в контейнере и потом его кидать на прод нам не понравился
Rainbow
Rainbow
Можно удалять докер, поэтому что в этом весь смысл.
Vladislav 👻
???
Ильдар
Rainbow
А, сорян, тупанул
Rainbow
multistage тут нужен
Vladislav 👻
На прод полетит или на дев вообще пофиг
Vladislav 👻
Пайплайн от этого не сильно меняется
Alexei
а где хранятся образы? в локальном registri? или еще как?
Vladislav 👻
В артифактори есть регистри
Ильдар
Vladislav 👻
Гугл расскажет
Ильдар
https://jfrog.com/artifactory/
но это тут ваще ни при чём
Vladislav 👻
Ильдар
тогда в догонку ещё полезная ссылка
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
Vladimir
Vladimir
Alexei
Не умеет
печалька. А может кто подскажет что поставить?
а то в данный момент я себе поставил registry:2 для хранилища, и joxit/docker-registry-ui:static для web морды, но вебморда - никакая....
Vladislav 👻
Gitlab-ce
Alexei
блин, вот как-то стремаюсь я его ставить :( жрет он много :(
Vladislav 👻
Чего жрет и на каком масштабе?
Alexei
пробовал я его в 14 году, в последний раз. В тот момент 2 гига оперативы и какой-то ксеон были для него еле-еле. чисто интерфейс еле ворочался.
Alexei
использовался он только как git сервер.
Vladislav 👻
Сейчас 4 минимум 😬
Anonymous
Андрей
Alexei
А можете прояснить такой момент: Закидывается коммит. Этот коммит обрабатывается сервером сборки. И дальше идут этапы, которые мне не понятны.
1. по результатам сборки создается docker image. - сразу первый вопрос : как обычно хранят эти образы - в смысле обычно хранят только 1 образ? или обычная практика хранить все образы? Если все, то что за хранилище требуется для таких объемов?
2. А как идет замена на рабочем сервере запущенного сервиса? какие инструменты используются?
Petrovich
1. docker hub хранит сколько-то последних образов бесплатно за счет своего хранилища
2. Я например использую jenkins который после сборки и заливания на docker registry заходит по SSH, выкачивает новый образ, останавливает старый контейнер и стартует контейнер с новым образом
Есть еще ansible
Alexei
Так докер хаб это хорошо, но :( ... он хранит образ только для 1 проекта?
Alexei
по второму пункту понял, спасибо. :)
Petrovich
если проект приватный то да, только для одного
Petrovich
если проекты публичные то их может быть несколько
Alexei
Но обычно хранят все image? Или только последних несколько?
Petrovich
я вот смотрю на свой хаб и там почти 300 образов хранится щас и размеры у них внушительные - от 500 мегабайт
Alexei
сжатия же нету?
Petrovich
есть
Petrovich
без сжатия он 2.5гб весит
Alexei
а со сжатием?
Petrovich
порядка 500-600 мегабайт
Alexei
а... тогда я спокоен :)
Alexei
продолжу выпытывать:)
поднял я докер regestry. все чудесно... Но, как обычно, гладко было на бумаге.... Локально - отлично работает. А вот с другой машины - уже нет. - требует tls сертификаты. Самоподписанный не подходит. Можно ли отключить обязательный https?
LEXASOFT
Гдето было про insecure в доках
LEXASOFT
https://docs.docker.com/registry/insecure/
Alexei
Огромное спасибо за ссылочку. Там было как ПРАВИЛЬНО сделать самоподписанные сертификаты для докера.
Rainbow
Rainbow
traefik поставить перед registry и через пару минут будет https 😅
Nazar
пацаны, а докер же работает на винде? если работает то как? через виртуалбокс?
Nazar
и как норм работает?
Anton
https://docs.docker.com/machine/drivers/hyper-v/
Anton
https://docs.microsoft.com/ru-ru/virtualization/windowscontainers/manage-containers/hyperv-container
Владимир
Ребят, в в entrypoint существующему php-имейджу посылаю свой файл (накидываю права/делаю директории), чтобы запустился вместе с основным, а мой контейнер останавливается, заканчивает работу и всё, что делать?
Владимир
Делаю так: ENTRYPOINT ["docker-php-entrypoint", "entrypoint"] или так в compos: entrypoint: ["docker-php-entrypoint", "entrypoint"]
Владимир
Хм, видимо перезаписывается CMD, а там как раз запускается демон
Rainbow
exec $@
в конце entrypoint допишите
Владимир
Да, пожалуй это из-за него. Дело в том, что в базовом docker-php-entrypoint уже есть exec и якобы я могу просто через параметры имена скриптов накидать и он всё запустит
Rainbow
Rainbow
ENTRYPOINT [“my-php-entrypoint”]
Rainbow
неудобство тут только одно. что нужно знать название изначального. это мелочь
Владимир
👍
Ильдар
Kamil
Кто-нибудь имел дело с доступом к docker remote api через nginx прокси?
Юрий
Kamil
Да. В чём вопрос?
Так, значит такая беда: у меня есть сервер, на котором крутится сворм, я туда деплою по remote api приложение, но оказалось, что этот сервер, как и остальные, залочены роскомнадзором, поэтому я проксирую с помощью nginx запросы на них. Так вот у меня появилась необходимость делать деплой через прокси сервер с https. Но в итоге я получаю вот такое: x509: certificate signed by unknown authority.
Rainbow
Kamil
Имеешь ввиду деплоить через ssh?
Rainbow
особенно через прыжки
~/.ssh/config
Host servername
HostName SERVER_IP
User root
ProxyCommand ssh -W %h:%p -i ~/.ssh/fresh dev@BASTION_IP
Rainbow