猿问

传递环境变量不适用于Docker

我正在学习如何将环境变量传递给Docker容器。尽管以下工作正常,


Docker文件


FROM ubuntu

ENV USERNAME='david'

CMD echo "username = $USERNAME"

生成并运行命令


docker build . -t enviro

docker run -d enviro

docker ps -a给


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

码头工人日志2a3a69aa7868给出


username = david

以下不起作用


Docker文件


FROM ubuntu

CMD echo "username = $USERNAME"

生成并运行命令


docker build . -t enviro

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

在这里,运行命令给出了这一点,


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.

虽然docker ps -a给


249cb045c26a        enviro              "-e USERNAME=david"

码头工人日志249cb045c26a什么也没有给出


任何想法,这是怎么回事?为什么不传递环境变量?



守着星空守着你
浏览 260回答 1
1回答

德玛西亚99

好,我知道了。代替以下内容,docker run -d enviro -e USERNAME='david'一定是这样docker run -d -e USERNAME='david' enviro不知道,为什么docker为什么在映像名称之前需要环境变量。
随时随地看视频慕课网APP
我要回答