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
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
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
Anton
а как это решается обычно?
Andrey
если у тебя всё на одном хосте, то возможно вариант с named volums и вот этим всем
Andrey
и не путайте фазы билда и руна контейнеров, они не равнозначны
Navern
Navern
есть issue на эту тему
Andrey
нет, они предсказуемо сохраняемы и расшариваемы, тут когда то вроде была давно ссылка на толковую статью, там в общем то три типа волумов в докере, оно и в доках вроде описано docker volums или типа того
Navern
Если ты хочешь шарить node_modules на время билда, то логичнее делать отдельный контейнер, который используется как билдер. и потом артефакты только копировать и собирать. Что-то вроде ручного мультистейджа
Andrey
но да, если вы что то ложите во время билда, то оно там уже будет и как его потом расшарить, это отдельная задача
Navern
или использовать другие билдеры, которые поддерживают маунт во время билда
Anton
Navern
Navern
volumes-from?
Andrey
не, ну я же не говорю что нельзя, я о том что тогда надо о другом вот да думать
Anton
docker cp?
1. а можно такое делать между разными докер-image
2. volumes-from? — вроде бы оно деприкейтед? я пробовал сделать volumes type: bind. но оно перезаписывает статику из за того что маунтиться после её генерации
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
Anton
Спасибо большое за пояснение — теперь хоть проблему понимаю
George
George
mount - это в рантайме (т.е. на стадии docker run)
docker-compose - это обертка для docker build, docker run и прочих команд
George
George
1. делаешь два контейнера. Нода и nginx
2. между ними общий вольюм (или bind mount - это не столь принципиально)
3. заполняешь нодой вольюм статикой при запуске или по выполнению какого-то эндпойнта
Anton
George
как вариант да
George
делаешь скрипт docker-entrypoint.sh, добавляешь его в ENTRYPOINT (или CMD)
Anton
George
и в нем магия типа cp -r папка_с_файлами папка_с_маунтом
Хоттабыч 🐕
Тут теперь без платёжки вопрос не задать?
Vitalii
никак
Navern
скок переводить то?
Vitalii
все, очевидно
Vitalii
инетресно, это рассчёт на то, что какой-то лошок закнет денег, или как?
Хоттабыч 🐕
все, очевидно
Мне нужна твоя одежда, очки и контейнеры(ц)
Anton
Anton
И остальным ответившим тоже — это здорово расставило по местам что когда происходит
manefesto
Вот как дебажить ?
manefesto
Уже сделал в качестве network_mode выбрал host
Пофиг, сутки работает и перестает отвечать
только перезапуск контейнеров помогает
George
resize контейнера?
George
это как, простите?
manefesto
хз