paulwinex
ну а что это даст? в какомто месте мне надо попробовать подтянуть файл с диска и если он есть то он внесет изменения в переменные. я пока не понял предложение
paulwinex
может в env_file можно несколько указать?
paulwinex
мне надо чтобы композ понимал на продакшоне он или нет
paulwinex
и там надо разные переменные подтягивать
twwlf
сделать симлинки и не коммитить их в репо?
paulwinex
сделать симлинки и не коммитить их в репо?
чтото не понимаю хитрость способа. симлинк на что на куда? просто я знаю способ с доп файлом который переписывает некоторые переменные, другие варианты не погу представить пока
Andrei
мне надо чтобы композ понимал на продакшоне он или нет
Проставить переменную окружения ENV и .env_dev держать в репе, а prod на сервере
paulwinex
paulwinex
env_file действительно можно списокм делать. но если файл не найден то старт отменяется.
paulwinex
Проставить переменную окружения ENV и .env_dev держать в репе, а prod на сервере
к тому же придется тогда все переменные дублировать, а мне надо только одну поправить
Andrey
.env определяет окружение, в которое вы деплоитесь. Теперь вы хотите, чтоб .env определял сам в каком он окружении. Это циклическая зависимость
paulwinex
я то прсосто хочу его немного расширить, определять уже не надо
Andrey
держите разные .env и docker-compose для разных окружений, если у вас они "случились" в одном репозитории
Andrey
и в каком случае вам его надо расширить?
paulwinex
переменную поменять. на dev домен другой
Andrey
не что сделать, а в каком случае
Andrey
ну то есть в случае, если вы на дев
Andrey
а как вы можете определить, что вы деплоитесь на дев?
Andrey
домен другой, да? :)
paulwinex
в случае если это на продакшоне. в моей верси ив случае если есть файл с доп переменными то подтянуть и его тоже. то есть я на продакшоне просто создаю файлик
paulwinex
домен да. на локале я в hosts прописал другой домен чтобы на основной меня тоже пускало
paulwinex
мне даже надо скорей на dev подменять а не продакшоне
Andrey
Ну вот, так дальше руками и делайте. Надоест руками, начнёте оркестратор какой-нибудь использовать с шаблонами.
Andrey
Вы сначала определите, что может быть триггером, а потом от этого триггера отталкивайтесь
paulwinex
ну щас это означает что я на локале перед комитом всегда меняю на оириганльный домен и потом обратно на тестовый чтоли
paulwinex
тригер это наличие файла
paulwinex
из которого дотянуть переменные
paulwinex
с конкретным именем файл
paulwinex
если нето то не тянем
Andrey
и на деве он есть?
paulwinex
да, есть на деве, ет на продакшоне. на продакшоне просто репозиторий чистый
Andrey
есть идея
Andrey
переименуйте .env в репозитории в другое имя
paulwinex
что это дает? композ тогда не стартанёт
Andrey
в композе сделайте прямую ссылку на новое имя через env_file: <new_name>
Andrey
а на dev и на prod используйте специфичные .env
Andrey
https://docs.docker.com/compose/env-file/
paulwinex
нет не понятно. тогда надо и разные yml
Andrey
почему? они будут ссылаться на один и тот же new_env из репы
Andrey
а .env - локальный файл
paulwinex
то есть сделать из env_file список и на продакшоне второй файл сделать пустым?
Andrey
можно и списком
paulwinex
щас попробуем
paulwinex
спасиб
Roman
Здрасть ) Хотел спросить а docker-run запускает depedencies? а что я чего то selenium может только через docker-compose up увидеть контейнер если через run запускаю то не пашет
Roman
вроде как то базу то видет с compose-run
paulwinex
щас попробуем
ррработает в общем, спасиб. только придется на продакшоне пустой файл делать.
Если контейнер меняет ID и в графане старые метрики не будут работать. Так получается? А то я дополнил yml файл и у меня все графики нахер упали
paulwinex
в течение гдето полу года я натыкался на одну проблему, по пол дня пытался решить и бросал каждый раз, чот не получается. и вот опять не пойму в чем бяда, может подскажете. Есть два контейнера; django проект и postgress. собирается всё композом в котором используется .env файл. КОнтейнер постгреса какраз на энвайроменте инициализируется. В частности порт. Так вот если я указываю стандартный порт постгреса 5432, то всё пучком. Но у меня тогда конфликт на локальных тестах потому что локальный постгрес на такомже. Тогда я просто в .env пишу чонить такое POSTGRES_PORT=5433 соответственно в docker-compose пишу так database: image: postgres:latest ports: - ${POSTGRES_PORT}:${POSTGRES_PORT} ... server links: - database:database depends_on: - database в джанго конфиге так 'PORT': os.getenv('POSTGRES_PORT', 5432), инспектирую контейнер постгреса "Ports": { "5432/tcp": null, "5433/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "5433" } ] }, ... "PortBindings": { "5433/tcp": [ { "HostIp": "", "HostPort": "5433" } ] }, ну всё вроде норм. Заходу проверяю энвайромент в джанго-контейнере, там тоже правильны порт 5433. НО... запускаю композ и получаю ошибку server | conn = _connect(dsn, connection_factory=connection_factory, **kwasync) server | django.db.utils.OperationalError: could not connect to server: Connection refused server | Is the server running on host "database" (172.27.0.2) and accepting server | TCP/IP connections on port 5433? ну тоесть какбудто база не запущена, не находит её. Где я забыл еще пробить порт или связь?
paulwinex
достаточно продробно описал?
paulwinex
зашел в контейнер, пропинговал базу
paulwinex
paulwinex
смущает строка 5433/tcp closed pyrrho
paulwinex
а если вернуть на дефолт то строка меняется 5432/tcp open postgresql
Roman
блин так помощь нужна а ни кого нету
Roman
если так: docker-compose run app-childminder python manage.py test application.tests.test_selenium —settings=childminder.settings.dev то неработает: selenium.common.exceptions.WebDriverException: Message: Reached error page: about:neterror?e=dnsNotFound&u=http%3A//app-childminder%3A8000/childminder&c=UTF-8&f=regular&d=We%20can%E2%80%99t%20connect%20to%20the%20server%20at%20app-childminder. если туже команду подать docker-compose.yml то все норм - че за фигня )
paulwinex
ооо, я решил вопрос. просто внутри контейнера базы оставил дефолт а наружу пробросил другой порт.
paulwinex
давай, твоя очередь всё решить самостоятельно)
Roman
)
Roman
а я вот не решил поскольку надо пока процесс бежит узнать че там было открыто джангой
Vadim
какой командой dockerfile отдавать erlcookie для rabbitmq?
Roman
какой командой dockerfile отдавать erlcookie для rabbitmq?
это вообще как к докеру относится
Roman
командой copy
ʎıuǝƃʌƎ
всем привет. а это известная бага, что docker-for-mac не умеет network host? 🤔
arts
Как отучить compose писать в syslog? Для всех сервисов прописано driver: json-file, json-файлы пишутся, но и в сислог продолжает гадить.
Александр
это dockerd пишет
Александр
arts
это dockerd пишет
В programname у него docker-compose
Александр
Это ничего не меняет. dockerd - это демон докера, который сервисы стартует, а сервисы в docker-compose - это то, что он запускает
кто подскажет захожу в cAdvisor так ip_name:9100/container. Далее перехожу на Docker Container и выводит такую ошибку
гуру подскажите что она означает и как решить ее проблему
в инете пишут в основном про мак
у меня deb 9
кто подскажет захожу в cAdvisor так ip_name:9100/container. Далее перехожу на Docker Container и выводит такую ошибку
failed to get docker info: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Dmytro 🇺🇦
failed to get docker info: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Ты можешь пробросить с хоста в контейнер вольюм /var/run/docker.sock
Anonymous
ой, не вам, простите! всем доброго вечера!
Dmytro 🇺🇦
Конечно, не нам