传递环境变量不适用于Docker [英] Passing environment variables not working with Docker
本文介绍了传递环境变量不适用于Docker的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在学习如何将环境变量传递给Docker容器。虽然以下方法可以正常工作,
I am learning how to pass environment variables to Docker containers. While the following works fine,
Dockerfile
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
以下操作无效
The following doesn't work
Dockerfile
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"
docker日志249cb045c26a 什么也没给出
任何想法,这是怎么回事?为什么不传递环境变量?
Any idea, what is going on here? Why is the environment variable not being passed?
推荐答案
好,我明白了。
docker run -d enviro -e USERNAME='david'
必须是这样
docker run -d -e USERNAME='david' enviro
不知道为什么docker之前需要环境变量图片的名称。
No idea, why docker requires the environment variable before the image's name though.
这篇关于传递环境变量不适用于Docker的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文