Grigory
пока не решали эту проблему
Maxim
Grigory
Maxim
да, нам это нравится
ну так зачем в Dockerfile эти все кастомизации? можно создать один образ и на его основеуже разные сервиы, не нужно будет делать на каждый сервис отдельный образ
Grigory
Так образ же один, но он при запуске у себя меняет конфиг на основе .env файла
Grigory
Maxim
Grigory
Maxim
Grigory
Хорошо, что поняли друг друга)
Grigory
Причем количество доменов часто меняется
Maxim
Grigory
Не, на разных физических машинах запускаются
Maxim
Ну зачем? если на одной машине один сервис?
но за traefik спасибо, не знал, надо почитать
Попробуйте, вам поравится, снимает часть обязанностей с nginx, например ssl сертификаты, балансировку, реверсивный прокси, да и много чего полезного есть, полезная штуковина в хозяйстве, присмотритесь к нему, использовать может вам и не нужно будет, но познакомиться будет точно не во вред
Lex
Добрый вечер, столкнудся с такой штукой.
Не может достучаться до /etc/hosts
А вот что делать с этим - не соображу.
TASK [dr.server : Update /etc/hosts] *******************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: OSError: [Errno 16] Device or resource busy: b'/etc/.ansible_tmpl__ymdk0hosts' -> b'/etc/hosts'
fatal: [rstat]: FAILED! => {"changed": false, "msg": "Unable to make /tmp/tmpo1ablgv6 into to /etc/hosts
, failed final rename from b'/etc/.ansible_tmpl__ymdk0hosts': [Errno 16] Device or resource busy: b'/etc
/.ansible_tmpl__ymdk0hosts' -> b'/etc/hosts'"}
Maxim
Maxim
Lex
не скажу точно к какому host стучится установщик
Maxim
Borik
привет!
Borik
я хочу что-то вроде линуксовго:
docker run -e "deep=`date`" --rm alpine env
но в винде.
как?
Oleg
set?
Borik
set?
set DDD=date в винде не работает :(
manefesto
Привет
переношу сервисы в докер
Сейчас схема такая
на входе стоит балансировщик nginx, который заворачивает трафик на нужные нам контейнеры
Контейнеры поднимаются через docker-compose, соответственно для каждого docker-compose своя сеть
Так как балансировщик по днс имени, и подключен к контейнерам через external network, то перезапустить зависимые контейнеры нельзя, так как при рестарте сети удаляются, а они зависят от другого контейнера
manefesto
решил создать отдельный сервис который будет при старте поднимать сеть
[Unit]
Description=network from frontend
Requires=docker.service
After=docker-frontend.service
[Service]
WorkingDirectory=/srv/docker/frontend_dev
ExecStart=/usr/bin/docker network create -d bridge frontend_network
ExecStop=/usr/bin/docker network rm frontend_network
[Install]
WantedBy=multi-user.target
но при перезапуске он падает
manefesto
магия
Ruslan
вся магия в логах...
Andrey
а главное не очень понятно нафига, для докера, в автоматическом режиме, он там всё сам, для экстернал сети, её один раз создать и всего делов
manefesto
Ну создать это понятно
Хотел создание и удаление сделать через сервис
Dmitrii
manefesto
что ты под этим подразумеваешь ?
manefesto
создание сети в docker-compose ?
manefesto
А так можно ?
Dmitrii
тогда сможешь docker-compose down и он будет удалять все (кроме сторов)
manefesto
смотри какая ситуация
у меня есть 5 сайтов для примера
site1, site2, siteN
Это свой docker-compose
и я решил для них создать сети
network_site1, network_site2, network_siteN
на входе у меня стоит балансировщик с сетью
network_balancer и к нему подключены сети моих сайтов(network_siteX)
Соответвенно если я обновляю из registry сайт, то предварительно гашу сервис с сайтом, для примера
systemctl stop docker-site1
так вот когда происходит docker-compose down удаляется и сеть, а она фигурирует в конфиге балансировщика и просто так нельзя сделать
docker-compose down
надо использовать предопределенные сети, а не динамически создаваемые
То есть хочу быть уверенным что мои сети не грохнуть при рестарте сервиса
Видимо вариант только создавать сети вручную
Dmitrii
Dmitrii
посмотри на https://github.com/jwilder/nginx-proxy
возможно для siteN он сам создает отдельную сеть
Maxim
смотри какая ситуация
у меня есть 5 сайтов для примера
site1, site2, siteN
Это свой docker-compose
и я решил для них создать сети
network_site1, network_site2, network_siteN
на входе у меня стоит балансировщик с сетью
network_balancer и к нему подключены сети моих сайтов(network_siteX)
Соответвенно если я обновляю из registry сайт, то предварительно гашу сервис с сайтом, для примера
systemctl stop docker-site1
так вот когда происходит docker-compose down удаляется и сеть, а она фигурирует в конфиге балансировщика и просто так нельзя сделать
docker-compose down
надо использовать предопределенные сети, а не динамически создаваемые
То есть хочу быть уверенным что мои сети не грохнуть при рестарте сервиса
Видимо вариант только создавать сети вручную
можно один раз в bash скрипте написать какую external сеть создать для проекта и указывать её в docker-compose.yml файлике, еще можно в этом же bash после запуска проекта проверить запущен ли traefik и если его нет то запустить контейнер и добавить его в только что созданную внешнюю сеть в которой уже находятся ваши работающие сервисы которые ожидают --scale, например.
Anonymous
Всем привет.
Подскажите лечение ошибки:
Не удалось найти контейнер для присоединения.
Убедитесь, что соответсвующий контейнер запущен.
Хотя докер запущен по Windows-контейнер
Проект тоже с DockerFile под windows
При выполнении команды docker ps -a ничего нет .
Dmitry
Кто пользуется GitLab. Эта статья актуальна, что с раннером необходимы такие извращения?
https://docs.gitlab.com/ee/ci/docker/using_docker_build.html
А то судя по документации, уже можно организовать всё через команды .gitlab-ci.yml (image) ?
Cin
ranebull
manefesto
если ты используешь gitlab.com, то там все работает из коробки
Александр
Всем привет. Можно ли как-то из докер контейнера послать команду в систему? Или можно как-то к Laradock приделать контейнер запускающийся так чтобы команда docker была доступна внутри workspace?
Vlad
всем привет. вопрос больше по apache, но может вы подскажете. в папке домена лежит только index.html, но по запросу "/" отдает "file not found" (видимо контейнер php). почему apache после неудачного поиска index.php не отдает index.html?
енот
енот
Vlad
Vlad
апача, епрст
так там и прописано. я прост скриптом собираю его
енот
покажи что там прописано
Vlad
енот
действительно прописано.
ну сделай ls /var/www/html/rem1 | grep index в контейнер
енот
и grep -i directoryindex /etc/httpd или /etc/apache2
енот
Vlad
Andrey
Всем привет. Вопрос по compose-файлу. Как сделать expose на определенный порт, если мой 'network_mode: "host"'? Expose не работает, либо я его неправильно использую.
Denis
Никак если хост
Denis
У вас приложение будет биндится прямо на интерфейсах хоста
Denis
Без всяких проксирований
Andrey
Не дочитал до того места, где написано, что host networking поддерживается только для Linux)
manefesto
Понаставят линупсов
Kana
Подскажите, как из контейнера соединиться с бд на хосте?
manefesto
По адресу
manefesto
Ну или по днс имени
manefesto
Объясни задачу
Navern
Объясни задачу
База слушает 127.0.0 чувак тыкается в нее из контейнера)
manefesto
Эм, дык как бы. Да засунь ты в контейнер бд или открой в сеть и используй днс
Navern
Пробрасываешь сокет файл и не паришься в целом
manefesto
Ну прям true way
manefesto
Но не лишено смысла