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

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

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

25 ответов

27 просмотров
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 ?

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

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

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта