Передача переменных среды не работает с Docker - PullRequest
0 голосов
/ 04 мая 2018

Я учусь передавать переменные окружения в контейнеры Docker. Пока работает нормально,


Dockerfile

FROM ubuntu
ENV USERNAME='david'
CMD echo "username = $USERNAME"

Команды сборки и запуска

docker build . -t enviro
docker run -d enviro

Докер PS -A дает

2a3a69aa7868        enviro              "/bin/sh -c 'echo \"u…"

журналы докера 2a3a69aa7868 дает

username = david

следующее не работает


Dockerfile

FROM ubuntu
CMD echo "username = $USERNAME"

Сборка и запуск команд

docker build . -t enviro
docker run -d enviro -e USERNAME='david'

Здесь команда run дает это,

docker: Error response from daemon: OCI runtime create failed: 
  container_linux.go:348: starting container process caused "exec: \"-e\": 
  executable file not found in $PATH": unknown.

Пока Докер PS -a дает

249cb045c26a        enviro              "-e USERNAME=david"

Docker logs 249cb045c26a ничего не дает


Есть идеи, что здесь происходит? Почему переменная окружения не передается?

1 Ответ

0 голосов
/ 04 мая 2018

ОК, я понял. Вместо следующего:

docker run -d enviro -e USERNAME='david'

должно быть так

docker run -d -e USERNAME='david' enviro 

Не знаю, почему Docker требует переменную окружения перед именем образа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...