Eugene
При таком раскладе не удивлюсь если там докер тоже ради докера)
Ну пилят ребята все в контейнерах, плюс third-party немало - всю эту кучу просто процессами запускать плюс фронт на реакте - мне чет не хочется - пусть лучше в контейнерах как привыкли
Eugene
Просто заказчик такой попался у которого на это все одна машина
Eugene
Нестандартная ситуация, так бы кубер накатил и не мучался.
Eugene
Если сервер и правда 1 то вообще композа достаточно :)
Пожалуй к этому и прийду в итоге. Спасибо :).
🏳️ Phil
Использую docker-compose. Решил тут configs использовать и чутка обломался. Т.е. опция такая есть, а делать он что-либо отказывается
Rustam
Конфиги и секреты в сворме работают
tfhx8
Собираю так проект docker-compose up --build . К примеру, если вносятся изменения в код, приходится через ctrl+c завершать и заново запускать docker-compose up --build. Так как я новичек в докере, быть может есть более правильное решение?
Roman
гугли docker-compose development environment
tfhx8
volume
volume используется
Roman
volume используется
тогда перезапускать на надо
tfhx8
тогда перезапускать на надо
изменения не подхватываются
gani
А сразу в бэкграунде запускать композ проект
Артём
или docker-compose stop, что бы просто стопнуть контейнеры
gani
При --build те контейнеры которые изменились (перебильдились) автоматом перезапустятся (для постгреса например напишет reacreating postgres_1....)
tfhx8
я хз, перезапускаю из за того, что когда код закачался поверх старого, то изменения не появились. А срабатывают они только при перезапуске
tfhx8
docker-compose down
а запускать docker-compose up --build -d ?
Артём
--build нужен если тебе требуется собрать образ из докерфайла. Если образы уже готовые в регистри, то без --build
Артём
по идее да
Артём
какой смысл каждый раз пересобирать, если код или докерфайл не поменялись
gani
У вас если в докерфайле выполняется какой-то скрипт который чтото пересобирает, то --build нужен
🏳️ Phil
Конфиги и секреты в сворме работают
А. Типа только для сворм моды?
🏳️ Phil
Конфиги и секреты в сворме работают
Не, сикрет и так сработал
Rustam
https://docs.docker.com/engine/reference/commandline/secret/ > This command works with the Swarm orchestrator.
Rustam
тоже самое касается секретов. Поэтому сворм может удобен и при развёртывании на одной машине
🏳️ Phil
Ну вот факт. secret сработал без сворма. В /run/secrets/my_secret все смонтировалось
Rustam
покажете свой yaml файл и как запускаете проект?
🏳️ Phil
покажете свой yaml файл и как запускаете проект?
А уже синтезировать надо. Это тот случай, когда вроде и бессмысленная затея, просто я не понял почему. Запускаю обычно docker-compose up -d. Я может чуть попозже для теста просто синтезирую пример. Потому что интересно
Roman
Подскажите, пытаюсь скопировать конфиг командой RUN cp ./config/database.yml.sample ./config/database.yml , но в запущенном контейнере этого не вижу. Хотя если выполнить RUN ls -lah config то этот файл там есть. Но после того как стартую docker-compose я этот файл не вижу внутри, в чем может быть проблема? Сам докерфайл Dockerfile FROM ruby:2.5 WORKDIR /app COPY ./ . RUN cp ./config/database.yml.sample ./config/database.yml RUN ls -lah config```Compose ```version: '3' services: postgres: environment: - POSTGRES_PASSWORD=root image: postgres volumes: - postgres:/var/lib/postgresql/data ports: - 5432:5432 redis: image: redis ports: - 6379:6379 volumes: - redis:./data app: tty: true stdin_open: true build: context: . dockerfile: Dockerfile.dev ports: - "3000:3000" volumes: - bundle_cache:/usr/local/bundle - .:/app volumes: bundle_cache: postgres: redis:И вывод с консоли ➜ dco -f docker-compose.development.yml build --no-cache && dco -f docker-compose.development.yml run --rm app bash -c "ls -lah ./config" postgres uses an image, skipping redis uses an image, skipping Building app Step 1/5 : FROM ruby:2.5 ---> 60c3a1518797 Step 2/5 : WORKDIR /app ---> Running in c9f41ace81e2 Removing intermediate container c9f41ace81e2 ---> 58a4b894dfcd Step 3/5 : COPY ./ . ---> f356f3fc8170 Step 4/5 : RUN cp ./config/database.yml.sample ./config/database.yml ---> Running in 07d52bf901e3 Removing intermediate container 07d52bf901e3 ---> 5e79900a6dca Step 5/5 : RUN ls -lah config ---> Running in f3b567e905da total 80K drwxr-xr-x 1 root root 4.0K Jan 13 13:42 . drwxr-xr-x 1 root root 4.0K Jan 13 13:42 .. -rw-r--r-- 1 root root 1.6K Jan 12 19:39 application.rb -rw-r--r-- 1 root root 171 Jan 12 19:39 boot.rb -rw-r--r-- 1 root root 5.8K Jan 12 19:39 countries.json -rw-r--r-- 1 root root 588 Jan 13 12:06 database.yml -rw-r--r-- 1 root root 2.0K Jan 12 19:39 deploy.rb -rw-r--r-- 1 root root 154 Jan 12 19:39 environment.rb drwxr-xr-x 2 root root 4.0K Jan 12 19:39 environments drwxr-xr-x 2 root root 4.0K Jan 12 19:39 initializers drwxr-xr-x 5 root root 4.0K Jan 12 19:39 locales -rw-r--r-- 1 root root 9.3K Jan 12 19:39 newrelic.yml -rw-r--r-- 1 root root 3.0K Jan 12 19:39 routes.rb -rw-r--r-- 1 root root 756 Jan 12 19:39 schedule.rb drwxr-xr-x 2 root root 4.0K Jan 12 19:39 settings -rw-r--r-- 1 root root 137 Jan 12 19:39 settings.yml Removing intermediate container f3b567e905da ---> a65a78909196 Successfully built a65a78909196 Successfully tagged billing_app:latest Creating network "billing_default" with the default driver total 56K drwxr-xr-x 17 root root 544 Jan 13 12:06 . drwxr-xr-x 37 root root 1.2K Jan 13 13:12 .. -rw-r--r-- 1 root root 1.6K Jan 12 19:39 application.rb -rw-r--r-- 1 root root 171 Jan 12 19:39 boot.rb -rw-r--r-- 1 root root 5.8K Jan 12 19:39 countries.json -rw-r--r-- 1 root root 588 Jan 13 12:06 database.yml.sample -rw-r--r-- 1 root root 2.0K Jan 12 19:39 deploy.rb -rw-r--r-- 1 root root 154 Jan 12 19:39 environment.rb drwxr-xr-x 5 root root 160 Jan 12 19:39 environments drwxr-xr-x 17 root root 544 Jan 12 19:39 initializers drwxr-xr-x 12 root root 384 Jan 12 19:39 locales -rw-r--r-- 1 root root 9.3K Jan 12 19:39 newrelic.yml -rw-r--r-- 1 root root 3.0K Jan 12 19:39 routes.rb -rw-r--r-- 1 root root 756 Jan 12 19:39 schedule.rb drwxr-xr-x 5 root root 160 Jan 12 19:39 settings -rw-r--r-- 1 root root 137 Jan 12 19:39 settings.yml
Vadim
вы же вроде когда RUN cp ./config/database.yml.sample ./config/database.yml это делаете внутри контейнера, а не на хосте, а потом когда vol с хоста монтируете то монтируете диру с хоста в которой нет тех изменений, которые вы ожидаете увидеть
Roman
😱 точно, спасибо)
Alexey
Привет, подскажите пожалуйса есть 2 контейнера backend и db запускаю через compose на backend есть зависимость: depends_on: - db но по логам - все равно контейнер backend запускается раньше, не может достучаться до базы и падает
LEXASOFT
depends_on не нужен, пиши чтоб работало даже при падении базы
Max
Видимо происходит инициализация базы, и бэкенд еще не видит базу. Ты стартуй сперва db, а потом backend
LEXASOFT
https://docs.docker.com/compose/compose-file/#depends_on
Max
может поможет dockerize - https://github.com/jwilder/dockerize
Max
Типа того dockerize -wait tcp://db:5432 -wait http://web:80 -timeout 10s
Max
пропиши в entrypoint backend'a
Vadim
слипы наше все)))
freezlite
freezlite
сказал я и открыл docker-compose файл со слипами
LEXASOFT
слипы же от брута)))))
Karim
слипы наше все)))
что это такое? можно ссылочку почитать
Vadim
да шучу же я)) плохо так делать конечно) типа в entrypoint sleep 30s; run app
Alexey
база долго стартавала потомучто монтировал директорию заменил на монтирование volume - все стало нормально спасибо
Иван
Всем привет. Народ подскажите новичку, как в запущенном docker контейнере выполнить команду ./bin/nuxeoctl mp-install nuxeo-web-ui
Sergii (Kyiv)
Здравствуйте. Есть некоторое промышленное приложение и даже не одно (связка). В глубины настроек и связей пока не вникал. Живет на ubuntu на интеловом железе nuc5i3. Есть пара написанных на си бинарников с динамическими зависимостями (библиотеками - ldd подтверждает). Вполне возможно что в бинарнеке что-то захардкоджено (собираюсь посмотерть dtrace-ом) Ни какой документации. Для себя пытаюсь можно ли раскидать всё это безобразие по разным контейнерам - знеобходимо добиться независимости софта от привязки к железу - имею в виду долгосрочная перспектива эксплуатации с переездами - с чего начать посоветуйте и как понять - поможет ли докер решить проблему долгосрочной перспективы эксплуатации
AstraSerg
Если есть привязка к железу, докер не поможет. То есть не сможет отвязать.
Sergii (Kyiv)
есть такой момент
AstraSerg
Прокинуть в контейнеры скорее всего получится, но смысла маловато, если к хосту привязано.
Sergii (Kyiv)
спасибо
bama^boy
Привет. Кто-то писал плагины для докера? Можете хороший пример с документацией в образовательных целях скинуть? Интересует volume plugin. В официальной документации как-то фигово расписано про работу плагинов и рекомендуется их через systemd запускать.
Alex
Привет всем. Кто-нибудь пробовал рендерить 3D картинку (или glxgears к примеру) из докера на винде? Я выяснил, что для этих целей есть nvidia-docker, который позволяет использовать gpu внутри контейнера, но вроде поддержки винды у этой обертки нет. Буду рад услышать идеи.
Sergii (Kyiv)
Здравствуйте. С докером начал работать совсем недавно. Исходя из иностранной документации понял что его возможно поставить на железо однако толковых примеров не нашел и лично для себя сделал вывод что речь идет о работе с MAAS
енот
Fe
Sergii (Kyiv)
К примеру intel nuc5
AstraSerg
К примеру intel nuc5
Какая там ОС?
Sergii (Kyiv)
Ubuntu
Артём
обычный x86 писюк, обычная ОС
Alexander
репу только подключить надо
Sergii (Kyiv)
Про такую команду знаю
Sergii (Kyiv)
Ок спасибо думал узнаю что то новое
Alexander
Всмысле?
Alexander
На сайте дока по установке лежит
Alexander
https://docs.docker.com/install/linux/docker-ce/ubuntu/
Jürgen
https://docs.docker.com/install/linux/docker-ce/ubuntu/
Jürgen
😂