D_d
чувак я пришел с вопросом конкретным. меня отводят в сторону не отвечая на вопрос и сыпят другими. меня это тригерит богом клянусь это прям тема русско говорящих комьюнити
D_d
и не просто вопросом по делу а с подтектом "а зачем ты так делаешь вот у нас так не принято надо делать вот так." я перефрозировал. "вообще так можно нет?" и мне сновыа шляпу впаривают
D_d
прочти сверху диалог хочешь сказать я не прав? и Маким что то по делу мне ответил?
D_d
на 2 вопроса
D_d
покажи ткни носом меня гже он дал ответ мне. базару ноль заткнусь извинюсь был не прав
Ivan
Сделай несколько компоузов
D_d
прочти дальше. я сделал
Интригуешь,
Чувак
Интригуешь,
сейчас попробую
Есть результат, нет?
D_d
docker-compose up -e | VARIABLE_NAME=value вообще не запускает а с env ENVIRONMENT=development |docker-compose up -e говорит ERROR: Couldn't find env file: /proj/backend/.env.
D_d
еще с -e когда делаю docker-compose показывает Usage: up [options] [--scale SERVICE=NUM...] [--] [SERVICE...] Options: -d, --detach Detached mode: Run containers in the background, print new container names. Incompatible with --abort-on-container-exit. --no-color Produce monochrome output. --quiet-pull Pull without printing progress information --no-deps Don't start linked services. --force-recreate Recreate containers even if their configuration and image haven't changed. --always-recreate-deps Recreate dependent containers. Incompatible with --no-recreate. --no-recreate If containers already exist, don't recreate them. Incompatible with --force-recreate and -V. --no-build Don't build an image, even if it's missing. --no-start Don't start the services after creating them. --build Build images before starting containers. --abort-on-container-exit Stops all containers if any container was stopped. Incompatible with -d. --attach-dependencies Attach to dependent containers. -t, --timeout TIMEOUT Use this timeout in seconds for container shutdown when attached or when containers are already running. (default: 10) -V, --renew-anon-volumes Recreate anonymous volumes instead of retrieving data from the previous containers. --remove-orphans Remove containers for services not defined in the Compose file. --exit-code-from SERVICE Return the exit code of the selected service container. Implies --abort-on-container-exit. --scale SERVICE=NUM Scale SERVICE to NUM instances. Overrides the `scale` setting in the Compose file if present. --no-log-prefix Don't print prefix in logs. тобишь вообще нет -e
D_d
и еще, есть ли разница если делать docker-compose и docker compose
Интригуешь,
А, убери -e
D_d
таже ошибка мол не видит файла
D_d
да потому что была идея прочитать файл который задается с переменной
D_d
у меня два файлы как оыбчно .env.dev, .evn.prod
Интригуешь,
и еще, есть ли разница если делать docker-compose и docker compose
Первый - старый синтаксис, когда композ ещё был отдельным от докера А новый, раздельный, встроен как плагин, что-ли, не помню точно
D_d
понял
D_d
и вот суть в том что если запускаю докер с ENVIRONMENT=dev то он должен подхватить файл соответсвенно
D_d
поднял этот же вопрос на форуме докера интересно что там ребята ответять
Интригуешь,
Не помню точно, но по моему было что-то проблемное с этой динамикой
Ivan
ERROR: Couldn't find env file: /proj/backend/.env. Посмотри на пути
D_d
да путь верный
Ivan
Дай дерево проекта
Интригуешь,
Надо почитать про то, как композ берёт и манипулирует переменными окружения Способен ли он взять в момент запуска переменную ENV, динамические её подставить, прочитать файл и предоставить содержимое сервисам?
Интригуешь,
По моему там где-то был геморрой
D_d
D_d
чтат gpt и claude говорят что ямл верный что так можно . вот сижу на оф сайте читаю доку
D_d
https://stackoverflow.com/questions/62121588/how-to-evaluate-a-dynamic-variable-in-a-docker-compose-yml-file тут чуваки пишут что нельзя динамичеси использовать env_path
D_d
https://github.com/docker/compose/issues/1171 А вот тут нашел что нужено делать export VARIABLE=value ща попробую
D_d
если делаю export то не рушается что не нашел файл но переменные оттуда взять\считать не может говорит они пусты е
Интригуешь,
если делаю export то не рушается что не нашел файл но переменные оттуда взять\считать не может говорит они пусты е
Предлагаю использовать - либо указывать env в команде терминала: docker compose --env-file ./config/.env.dev up Либо использовать swarm мод и конфигурировать с помощью config и secrets
Максим
Если переменные уже есть в .env.development, то нахрена тебе раздел environment:
Ещё раз. 1. В env_file: указываем .env.development 2. Убираем environment: совсем 3. ??? 4. PROFIT
Максим
Что вообще это должно означать?
Максим
Что значит "отдавал ./app/index.html"? Как nginx должен резолвить этот относительный путь?
Максим
Чтобы понять, как это реализовать, нужно сначала описать, как именно это должно работать. Этой информации тут нет
Максим
Ну может
BraVo123
для начала volume, должен указывать не на файл, а на папку .. а во вторых path_host:path_container
Максим
для начала volume, должен указывать не на файл, а на папку .. а во вторых path_host:path_container
Не обязательно. Главное чтобы тип пути совпадал на хосте и в контейнере
Максим
Описание docker-compose.yml в студию
Максим
Я пошел, помощь тебе видно не нужна
Dmitriy
В параметрах запуска контейнера указал проброс порта?
BraVo123
ну начинал-то ты именно с него :))
Dmitriy
Тогда 80 смотри
BraVo123
вот прям первая ошибка на любом скрине тебе ни о чём не говорит?
Махмуд
коллеги, у меня есть "устройство" (программный virtual appliance) фильтрации атак в виде набора контейнеров. В каких режимах docker-сети приложение-фильтр в принципе получится использовать "L2-прозрачно"? По умолчанию (без атакующего и защищаемого, если на хост докеризации прокидываю только mgmt-интерфейс) - docker-compose-ом создаётся сеть с типом bridge для некоего gateway-я, а dataplane запускается в хостовой сети
Tux
привет! может кто-то подскажет: у меня swarm кластер с тремя машинами (1 менеджер) и несколько сервисов в стеке: nginx как реверс прокси и app. nginx запускается только на менеджере. когда app запущен на той же машие что и nginx то никаких сетевых задержек нет, а вот когда он запущен на воркере то происходит рандомная сетевая задержка ну уровне tcp/ip в диапазоне аж до 30 секунд! может быть это знакомые симптомы, и есть решение? и при этом, иногда (если повезёт) задержек нет (или они незначительны), но 90% запросов с задержками.
Tux
root@6003ae26acf8:/# curl -v --trace-time --noproxy "*" 10.0.1.7:80/secret 02:02:01.849647 * Trying 10.0.1.7:80... 02:02:05.963675 * Connected to 10.0.1.7 (10.0.1.7) port 80 (#0) 02:02:05.963867 > GET /secret HTTP/1.1 02:02:05.963867 > Host: 10.0.1.7 02:02:05.963867 > User-Agent: curl/7.88.1 02:02:05.963867 > Accept: */* 02:02:05.963867 > 02:02:05.964988 < HTTP/1.1 200 OK 02:02:05.965120 < Server: nginx/1.27.2 02:02:05.965235 < Date: Tue, 22 Oct 2024 02:02:05 GMT 02:02:05.965350 < Content-Type: text/plain 02:02:05.965468 < Content-Length: 8 02:02:05.965579 < Connection: keep-alive 02:02:05.965678 < Last-Modified: Tue, 22 Oct 2024 01:37:37 GMT 02:02:05.965799 < ETag: "671701e1-8" 02:02:05.965909 < Accept-Ranges: bytes 02:02:05.966020 < X-Custom-B: app 02:02:05.966128 < SECRET!
Rose
Привет, Алексей! Добро пожаловать в RU.Docker — Официальное Русское Сообщество! Если ты не 🤖 ты знаешь что делать :)
Aleksandr Khristenko
Добрый день. У меня есть docker compose описывающий несколько контейнеров. Есть ограничение, что эти контейнеры не должны иметь доступ в интернет, поэтому для дефолтной сети стоит internal: true. Появилась необходимость при этом иметь возможность соединится с определенным портом на хосте. Это как-то можно реализовать?
Aleksey
Не проще было фаерволом закрыть всё просто интересно
Aleksandr Khristenko
Привет открой порт port: 22:22 тип такого
Мне из контейнера надо достучатся до порта на хосте. Если сеть не internal это делается через добавление host.docker.internal:host-gateway в extra-host. В случае с internal сетью это не работает, т.к. host-gateway из другого диапазона, а как получить gateway ip я пока не понял.
Димитри
Приветствую, подскажите пожалуйста почему не могу получить доступ из localhost, порты пробросил же? services: server: container_name: api build: context: . ports: - 8000:8000 networks: - postgres db: container_name: postgres image: postgres:latest restart: always env_file: - ".env" environment: - POSTGRES_USER=admin - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} volumes: - ./db:/var/lib/postgresql/data ports: - 5432:5432 networks: - postgres pgadmin: image: dpage/pgadmin4:latest container_name: pgadmin restart: always env_file: - ".env" environment: - PGADMIN_DEFAULT_EMAIL=${PGADMIN_EMAIL} - PGADMIN_DEFAULT_PASSWORD=${PGADMIN_PASSWORD} ports: - 8080:8080 networks: - postgres networks: postgres: driver: bridge
Чекаво
Подскажите пожалуйста, может ли openvpn без танцев с бубном роутить в docker-network? Я хочу создать докер-сеть, в которую через openvpn можно входить и тыкать контейнеры, которые к ней подключены
Георгий
они это серьезно?
Сергей
Ибо чтобы тыкать можно и без ovpn
Чекаво
Схемой можешь описать как это должно выглядеть?
Эх, не дали мне бесплатно экспортировать
Чекаво
Чекаво
Ибо чтобы тыкать можно и без ovpn
Да, можно openvpn на хосте поставить и в хоста порты контейнеров пустить, но мне вот так хочется 😅
Сергей
тогда уж проще vpnserver отдельным контейнером рядом запустить
Чекаво
тогда уж проще vpnserver отдельным контейнером рядом запустить
Ну да, так и планирую. Вопрос в том будет ли конфликт правил маршрутизации, мне, я так понимаю нужно будет пробрасывать /dev/tun устройство
Чекаво
И NET_ADMIN сверху
Чекаво
Либо лучше сразу в wireguard идти, у него с этим все в порядке, но wireguard это неудобно
Сергей
Important You can run Access Server on a Docker container with a self-hosted server, but not all cloud providers grant admin privileges on their services. On a self-hosted server, the --cap-add=NET_ADMIN gives the container the necessary admin privileges on network capabilities. https://openvpn.net/as-docs/docker.html Ну в целом если ты на своей вм админ, то должно. сработать
Dmitry
Привет! Есть команда docker-compose -f ./docker/docker-compose.yaml exec sd-php php ./vendor/bin/phpstan Из консоли отрабатывает корректно, но есть я ее перенесу в Makefile и выполню из него, то отрабатывает, но заканчивается ошибкой make: *** [Makefile:54: stan] Ошибка 1 DOCKER_COMPOSE = docker-compose -f ./docker/docker-compose.yaml EXEC = ${DOCKER_COMPOSE} exec ${CONTEINER_NAME_PHP} stan: ${EXEC} php ./vendor/bin/phpstan Чего не хватает, что я упустил?
Dmitry
Всю ошибку показывай
make: *** [Makefile:54: stan] Ошибка 1
Максим
make: *** [Makefile:54: stan] Ошибка 1
а выше в консоли ничего не выводится?
Максим
CONTEINER_NAME_PHP задан?
Dmitry
нет, только лог работы анализатора