Мне нужно установить переменную окружения в рабочем контейнере докера. Я уже знаю способ установки переменной среды при создании контейнера. Насколько я понял, нет прямого способа сделать это с докером, и докер планирует добавить что-то с новой версией 1.13.установить переменную среды в рабочем докере contianer
Но я обнаружил, что некоторые люди могут управлять им, который сейчас не работает для меня. Я попытался следующие способы, но не работает для Ме-
docker exec -it -u=root test /bin/bash -c "export port=8090"
эхо «экспортный порт = 8090» в /etc/bash.bashrc с помощью сценария, а затем источник его
docker exec -it test /bin/bash -c "source /etc/bash.bashrc"
настройки целиком в скрипте и запустить его с хоста также не сработало. При запуске скрипта из хоста все остальные команды успешно выполняются, за исключением «export port = 8090» или «source /etc/bash.bashrc» или «source /root/.bashrc».
Может ли кто-нибудь объяснить, почему файл источника с хоста не работает в контейнере докера, даже когда я устанавливаю пользователя («- u = root»)? Может ли кто-нибудь помочь мне решить эту проблему? Когда я отправляю файл из контейнера, он работает отлично. Но в моем случае я должен делать это с хост-машины
Примечания:, я использую докер 1.12 и попытался выше в убунту: 16.04 и убунт: 14,04
Как вы знаете, что окр не установлен? Вы попробовали 'docker exec -it mydocker bash', а затем один раз на континенте:' printenv'? Кроме того, я бы попытался сначала войти в контейнер с первой командой, затем установить env и запустить источник. – cen
Я иду в контейнер (/ bin/bash) и проверяю переменные среды, чтобы определить переменную, есть или нет. Я должен был упомянуть, в моем случае я не могу попасть в контейнер, чтобы загрузить файл. Забудьте упомянуть, что источник изнутри контейнера работает отлично. Я отредактировал мой вопрос. –
Еще одна вещь, которую вы могли бы попробовать, - это поместить команды в файл bash, скопировать файл в контейнер с докере, а затем выполнить это или выполнить свое приложение. Основываясь на вашем другом комментарии, вероятно, лучше всего найти другой способ настройки вашего скрипта. Динамическая конфигурация обычно не является чем-то, что делается с помощью env vars. – cen