Artur
в докер compose он не прописывается, версия 3.7
Aleksey
у вас сварм ?
Artur
А подключения через внутреннию подсеть является swarm?
Aleksey
нет
Artur
тогда нет)
Aleksey
если у вас нет swarm использовать версию отличную от 2,4 нет смысла
Aleksey
а в версии 2.4 volumes_from есть
Artur
Да, это видел, я думал просто может его переименовали как-то
Aleksey
3я версия docker-compose нужна если у вас есть сварм. там приходится мирится с тем что контейнеры могут быть запущены на разных хостах и от этого возникает куча ограничений
Aleksey
таких как нельзя volumes_from, нельзя депенды на хелсчек и прочее
Aleksey
выход простой. не использовать 3ю версию
Artur
3я версия docker-compose нужна если у вас есть сварм. там приходится мирится с тем что контейнеры могут быть запущены на разных хостах и от этого возникает куча ограничений
Спасибо, буду знать. Я только изучаю докер, еще не все тонкости знаю. Тогда попробую понять что мне нужно делать теперь.
Aleksey
Переписать на 2ую ;)
LEXASOFT
Либо node.role = manager
LEXASOFT
И одну реплику запускать
Andrey
а какое там таки настроение нынче со свармом, допилить или выпилить?
Aleksey
не связыватся
Aleksey
https://github.com/docker/swarm/commits/master
Aleksey
коммиты как бы говорят что продукт завершен
George
несомненно
Womchik
кубер всех победил! конкуренция ненужна
Anonymous
version: "3.7" services: nginx: image: nginx ports: - "80:80" links: - php-fpm environment: - NGINX_HOST=test.loc - NGINX_PORT=80 volumes: - ./nginx/default:/etc/nginx/sites-available/default - ./nginx/default:/etc/nginx/sites-enabled/default php-fpm: image: php:fpm build: context: . dockerfile: ./php-fpm/Dockerfile ports: - "9000:9000" volumes: - ./project:/home/user/docker/project
Anonymous
Что не так ?
Anonymous
test.loc не открывает localhost ведет на статическую страницу
Anonymous
Hello World!
Anonymous
tfhx8
Народ, а в docker в nginx модуля geo, CIDR нормально работает? Пробовал 127.0.0.0/8 и что то не срабатывало
kSandr
нормально
Anton
Подскажите пожалуйста, а на какой стадии происходит mount в докере? есть docker-файл, в нем множество слоев есть docker-compose - файл, в котором прописаны mount запускаю docker compose. я правильно понимаю что mount должен работать на всех слоях докер-файла в процессе билда?
Vitalii
маунт последним шагом, если я не ошибаюсь
Andrey
а чево вы ожидаете от ответа? ны в смысле что вы хотите в результате задачи получить?
Anton
у меня есть докер с node.js сервером, который билдит статику сайта и запускает сервер есть докер с nginx, который терминирует https соединение и проксирует запрос в первый докер я хочу сервить статику nginx’ом, а не нодой. так что для начала я хочу сделать bind-mount статики которая билдится в node. но к моему удивлению … её в замаунченой папке не оказывается. со сборкой всё ок. сейчас сделаю gist с докерами
Vitalii
потому что ты маунтишь пустую папку поверх, с огромной вероятностью
Anton
https://gist.github.com/SilentImp/7fecdf6a51d3982c79520ca191ec4f9c
Anton
а как это решается обычно?
Andrey
если у тебя всё на одном хосте, то возможно вариант с named volums и вот этим всем
Andrey
и не путайте фазы билда и руна контейнеров, они не равнозначны
Anton
если у тебя всё на одном хосте, то возможно вариант с named volums и вот этим всем
Да, хост один. А что значит named volumes? Они как то раньше маунтяться и не будут перезаписываться?
Navern
есть issue на эту тему
Andrey
нет, они предсказуемо сохраняемы и расшариваемы, тут когда то вроде была давно ссылка на толковую статью, там в общем то три типа волумов в докере, оно и в доках вроде описано docker volums или типа того
Navern
Если ты хочешь шарить node_modules на время билда, то логичнее делать отдельный контейнер, который используется как билдер. и потом артефакты только копировать и собирать. Что-то вроде ручного мультистейджа
Andrey
но да, если вы что то ложите во время билда, то оно там уже будет и как его потом расшарить, это отдельная задача
Navern
или использовать другие билдеры, которые поддерживают маунт во время билда
Navern
volumes-from?
Andrey
не, ну я же не говорю что нельзя, я о том что тогда надо о другом вот да думать
Anton
docker cp?
1. а можно такое делать между разными докер-image 2. volumes-from? — вроде бы оно деприкейтед? я пробовал сделать volumes type: bind. но оно перезаписывает статику из за того что маунтиться после её генерации
Navern
1. а можно такое делать между разными докер-image 2. volumes-from? — вроде бы оно деприкейтед? я пробовал сделать volumes type: bind. но оно перезаписывает статику из за того что маунтиться после её генерации
1. docker image? Не оч понимаю что ты тут хочешь. Статику можно копировать. Возможно ты хочешь делать мультистейдж и билдить два разных имаджа из одного. Я не помню тчоный синтаксис но смысл в том, что у тебя в докерфайле три FROM директивы. Одна юзается чтобы сбилдить артефакты а в двух других билдятся результирующие имаджи и юзается COPY —from=builder
Navern
https://adilsoncarvalho.com/creating-multiple-images-from-a-single-dockerfile-3f69254b6137 что-то типа такого
Andrey
просто он похоже ещё не до конца понял, что сбилженый и запущенный работать имаджи, они конечно жестко связаны но в принципе не одно и то же, особенно если взаимодействуют с другими
Anton
@smilingnavern на всякий случай, такущая конфигурация: https://gist.github.com/SilentImp/7fecdf6a51d3982c79520ca191ec4f9c я хочу сбилдить в сервисе frontender (сборка статики проекта и node сервер) статику и сервить собранную в сервисе frontender статику из сервиса web (nginx сервер) при этом очень хочеться что бы можно было обновлять докеры независимо, так что я думал сделать в обоих сервисах mounts type bind на один и тот же директрий хоста
Anton
Спасибо большое за пояснение — теперь хоть проблему понимаю
George
mount - это в рантайме (т.е. на стадии docker run) docker-compose - это обертка для docker build, docker run и прочих команд
George
1. делаешь два контейнера. Нода и nginx 2. между ними общий вольюм (или bind mount - это не столь принципиально) 3. заполняешь нодой вольюм статикой при запуске или по выполнению какого-то эндпойнта
George
как вариант да
George
делаешь скрипт docker-entrypoint.sh, добавляешь его в ENTRYPOINT (или CMD)
Anton
делаешь скрипт docker-entrypoint.sh, добавляешь его в ENTRYPOINT (или CMD)
Спасибо большое, сейчас буду пробовать
George
и в нем магия типа cp -r папка_с_файлами папка_с_маунтом
Хоттабыч 🐕
Тут теперь без платёжки вопрос не задать?
Vitalii
никак
Navern
скок переводить то?
Vitalii
все, очевидно
Vitalii
инетресно, это рассчёт на то, что какой-то лошок закнет денег, или как?
Хоттабыч 🐕
все, очевидно
Мне нужна твоя одежда, очки и контейнеры(ц)
Anton
И остальным ответившим тоже — это здорово расставило по местам что когда происходит
manefesto
Ловлю баг уже несколько недель подряд, перестает отвечат nginx в конейтнере Нашел вот такой лог юл 15 08:59:34 cari-01 dockerd[8352]: time="2019-07-15T08:59:34.066016354Z" level=error msg="Handler for POST /v1.39/exec/3fddf0fdf59e371dcf20c3191ed6ed6e96b3e2788211a7e05ace98226be46f1f/resize returned error: cannot resize a stopped container: unknown" июл 15 08:59:34 cari-01 dockerd[8352]: time="2019-07-15T08:59:34.100690827Z" level=error msg="Handler for POST /v1.39/exec/3fddf0fdf59e371dcf20c3191ed6ed6e96b3e2788211a7e05ace98226be46f1f/resize returned error: cannot resize a stopped container: unknown" июл 15 08:59:34 cari-01 dockerd[8352]: time="2019-07-15T08:59:34.147879699Z" level=error msg="Handler for POST /v1.39/exec/3fddf0fdf59e371dcf20c3191ed6ed6e96b3e2788211a7e05ace98226be46f1f/resize returned error: cannot resize a stopped container: unknown" июл 15 09:00:28 cari-01 dockerd[8352]: time="2019-07-15T09:00:28.897886964Z" level=error msg="Handler for POST /v1.39/exec/ae834ff8b161c5a8318027b1e67c70e2d4f26164b1f5f0ff6c34b8e2bc3b2e69/resize returned error: cannot resize a stopped container: unknown" июл 15 09:01:39 cari-01 dockerd[8352]: time="2019-07-15T09:01:39.623442271Z" level=error msg="Handler for POST /v1.39/exec/4614b448064da95222c4833bcc5639096ac616405a43a5ae9ffd5b2afad6aac5/resize returned error: cannot resize a stopped container: unknown" июл 15 09:01:39 cari-01 dockerd[8352]: time="2019-07-15T09:01:39.711668067Z" level=error msg="Handler for POST /v1.39/exec/4614b448064da95222c4833bcc5639096ac616405a43a5ae9ffd5b2afad6aac5/resize returned error: cannot resize a stopped container: unknown"
manefesto
Вот как дебажить ?
manefesto
Уже сделал в качестве network_mode выбрал host Пофиг, сутки работает и перестает отвечать только перезапуск контейнеров помогает
George
resize контейнера?
George
это как, простите?
manefesto
хз