172 похожих чатов

Можно ли сделать так что бы docker-compose брал бы с

. env все переменные что бы прокидывать в Dockerfile?

25 ответов

31 просмотр
jenia- Автор вопроса
Максим Мартынов
Нет

У меня как то получается что то что в.env лежит крузиться в глобальные переменные и затем используются в docker-compose.yml... Это когда разварачиваю с gitlab на удалённом сервере предварительно сгенерировав.env с переменными спущенными из gitlab. А вот локально так не работает. Вот и думаю почему?

jenia- Автор вопроса
Максим Мартынов
Показывай docker-compose.yml и Dockerfile

https://gist.github.com/evgeniy123/9e0af0e1978ace980d56f09782df3ecf

jenia
https://gist.github.com/evgeniy123/9e0af0e1978ace9...

1. Переменные окружения с хоста в контейнер не передаются. Разве что ты явно это делаешь 2. Ты передаешь в args переменные USER и PASSWORD. Чтобы их использовать, нужно как минимум объявить их в Dockerfile с помощью директивы ARG: ARG USER RUN mycmd $USER 3. Если ты хочешь, чтобы значение переменной было доступно не только на этапе сборки, но и при запуске, делай так: ARG USER ENV USER $USER И тогда оно попадет в переменную окружения в контейнере, которая будет доступна на момент запуска ПП од тем же именем. 4. Последний способ нельзя использовать с секретами

jenia- Автор вопроса
Максим Мартынов
1. Переменные окружения с хоста в контейнер не пер...

То есть нельзя передавать переменные из файла .env в docker-compose как я делаю ?

jenia
То есть нельзя передавать переменные из файла .env...

Ты так и не описал зачем ты это делаешь. Тебе они при сборке вообще не сдались, так зачем ты пытаешься их передать?

jenia- Автор вопроса
Максим Мартынов
Ты так и не описал зачем ты это делаешь. Тебе они ...

как это не здались ? А пароль задавать на разные сервера ? mysql, rabbitmq .. Приложил файл чтобы было понятно зачем так делаю

jenia- Автор вопроса
Максим Мартынов
В образе их быть не должно

а как мне создать базу данных с паролем ? Hardcode ?

jenia
а как мне создать базу данных с паролем ? Hardcod...

Передавай через переменные окружения в контейнер. Не в образ

jenia- Автор вопроса
Максим Мартынов
Передавай через переменные окружения в контейнер. ...

Не понял. как пароль передавать при создании бази даних ? Порядок опиши как ты видишь

jenia
Не понял. как пароль передавать при создании бази ...

В переменные окружения при запуске контейнера. Скрипт из entrypoint их прочитает и создаст базу с нужными параметрами

jenia- Автор вопроса
Максим Мартынов
В переменные окружения при запуске контейнера. Скр...

я не понял все равно ... Где эти переменные должны быть записаны, описаны. Создавать свои сборщик для базы данных и там все делать или в docker-compose ?

jenia
я не понял все равно ... Где эти переменные должны...

Сначала подтяни основы по докеру https://docs.docker.com/get-started/

jenia- Автор вопроса
Максим Мартынов
Сначала подтяни основы по докеру https://docs.dock...

вы смеетесь ? я понял 3 строчки написать нужно чтобы понять ваши слова. Ладно пошел пробывать

jenia
вы смеетесь ? я понял 3 строчки написать нужно что...

Я уже дал ответ на вопрос. Если есть проблемы с пониманием того, что значит "переменные окружения", "контейнер", "entrypoint", то сначала нужно понять основы работы докера, иначе ничего дельного из этого не выйдет

jenia- Автор вопроса
Максим Мартынов
Я уже дал ответ на вопрос. Если есть проблемы с по...

я понимаю все это но не могу понять как мне передать значения переменных из .env -> docker-compose

jenia- Автор вопроса
Максим Мартынов
Ключ env_file

и это читал. По умолчанию .env. Так почему он тогда не подхватывается ?

jenia- Автор вопроса
Максим Мартынов
Нет там никакого по-умолчанию

If you have multiple environment variables, you can substitute them by adding them to a default environment variable file named .env or by providing a path to your environment variables file using the --env-file command line option.

jenia
If you have multiple environment variables, you ca...

Это про подстановки в сам файл docker-compose.yml, а не про передачу переменных в контейнер. Чтобы их передать, нужно явно указать, через env_file: .env, либо через environment: конкретные переменные

jenia- Автор вопроса
Максим Мартынов
Это про подстановки в сам файл docker-compose.yml,...

То есть получается через .env в Dockerfile нельзя передать переменные ? Только через env_file: .env ?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта