Size: a a a

DevOps — русскоговорящее сообщество

2021 January 25

EU

Egor Urvanov in DevOps — русскоговорящее сообщество
Окей. Да, видимо, так и сделаю. Вопрос и интерес в другом. Можно ли сделать ровно то, что я спрашиваю?
источник

M

Mentat in DevOps — русскоговорящее сообщество
Да
источник

z

zeleniumex in DevOps — русскоговорящее сообщество
Можно, делайте! ))
источник

IA

Ilyas Arinov in DevOps — русскоговорящее сообщество
не делайте
источник

EU

Egor Urvanov in DevOps — русскоговорящее сообщество
Практика показывает обратное (=
источник

EU

Egor Urvanov in DevOps — русскоговорящее сообщество
Понабежали тролли.
источник

AK

Aleksandr Kwaskoff @... in DevOps — русскоговорящее сообщество
Mentat
Ну чтобы один и тотже контейнер запускал разное - вам надо передавать ему команды.
Поэтому можно разнести как 2 разных контейнера, поставить у контейнера тестов какой-нибудь wait-4-it.sh, плюс зависимость от первого, и сделать им разные command. Тогда при up - они поднимутся в нужном порядке.
Либо просто разнести по разным именам сервисов, с разными command и запускать через run
скажите подробнее о вейт - это просто время? Или можно задать разворачивание одного контейнера после разворачивания другого?
источник

IA

Ilyas Arinov in DevOps — русскоговорящее сообщество
нужно два разных докерфайла и директивы build: context, dockerfile
источник

IA

Ilyas Arinov in DevOps — русскоговорящее сообщество
контейнеры могут собираться в процессе запуска dockercompose, единственное, что вам стоит делать - называть контейнеры по разному
источник

IA

Ilyas Arinov in DevOps — русскоговорящее сообщество
иначе как вы будете ими управлять?
источник

EU

Egor Urvanov in DevOps — русскоговорящее сообщество
Aleksandr Kwaskoff @finteh
скажите подробнее о вейт - это просто время? Или можно задать разворачивание одного контейнера после разворачивания другого?
version: '3.7'
   services:
     my-container:
       container_name: ${CONTAINER_NAME}
       environment:
          - DOCKER_COMMAND=${DOCKER_COMMAND}
       build:
         context: ..
         dockerfile: deployments/Dockerfile

Давайте добавим ещё DOCKER_COMMAND. И тогда одну команду я запускаю как

    DOCKER_COMMAND=run CONTAINER_NAME=c1 docker-compose up my-container

Другую

    DOCKER_COMMAND=test CONTAINER_NAME=c2 docker-compose up my-container
источник

AK

Aleksandr Kwaskoff @... in DevOps — русскоговорящее сообщество
круто
источник

AK

Aleksandr Kwaskoff @... in DevOps — русскоговорящее сообщество
источник

M

Mentat in DevOps — русскоговорящее сообщество
Aleksandr Kwaskoff @finteh
скажите подробнее о вейт - это просто время? Или можно задать разворачивание одного контейнера после разворачивания другого?
это все в контексте docker-compose
там есть docker-compose depends_on. Но он учитывает в 3 версии api только факт поднятия контейнера, но не поднятия сервиса в нем. Поэтому есть скрипты типа wait-for-it.sh https://docs.docker.com/compose/startup-order/
которые стучатся по пингу, или порту сервиса - и только потом дают запускать дальше.
источник

z

zeleniumex in DevOps — русскоговорящее сообщество
Aleksandr Kwaskoff @finteh
скажите подробнее о вейт - это просто время? Или можно задать разворачивание одного контейнера после разворачивания другого?
Может быть имелось виду depends_on?
источник

EU

Egor Urvanov in DevOps — русскоговорящее сообщество
Я хочу, чтобы они одновременно работали. МОжно это или нет?
источник

AK

Aleksandr Kwaskoff @... in DevOps — русскоговорящее сообщество
Mentat
это все в контексте docker-compose
там есть docker-compose depends_on. Но он учитывает в 3 версии api только факт поднятия контейнера, но не поднятия сервиса в нем. Поэтому есть скрипты типа wait-for-it.sh https://docs.docker.com/compose/startup-order/
которые стучатся по пингу, или порту сервиса - и только потом дают запускать дальше.
оу.. теперь ясно. Спс!!
источник

AK

Aleksandr Kwaskoff @... in DevOps — русскоговорящее сообщество
Mentat
это все в контексте docker-compose
там есть docker-compose depends_on. Но он учитывает в 3 версии api только факт поднятия контейнера, но не поднятия сервиса в нем. Поэтому есть скрипты типа wait-for-it.sh https://docs.docker.com/compose/startup-order/
которые стучатся по пингу, или порту сервиса - и только потом дают запускать дальше.
@zeleniumex это имелось ввиду. Спс
источник

EU

Egor Urvanov in DevOps — русскоговорящее сообщество
DOCKER_COMMAND делает так:

FROM ***/ap/base-images/clearlinux-golang:0.4.0

ENV DOCKER_COMMAND ${DOCKER_COMMAND}
ENV ENV ${ENV}

COPY . /app
WORKDIR /app

RUN NEED_IMPORT_ENVS=no make deps
CMD NEED_IMPORT_ENVS=no ENV=${ENV} make ${DOCKER_COMMAND}
источник

z

zeleniumex in DevOps — русскоговорящее сообщество
Egor Urvanov
Я хочу, чтобы они одновременно работали. МОжно это или нет?
Я так и не увидил проблемы, описывайте сервис на базе одного имиджа, с разными аргументами, в чем сложность то ?
источник