我在docker中遇到了环境变量的问题。 当我运行命令时:
$ docker run ubuntu /bin/bash -c "echo $HOME"
我得到了回复:
/Users/bylek
但是当我跑步时:
$ docker run -it ubuntu /bin/bash
然后:
root@5e079c47affa:/# echo $HOME
我有:
/root
第二反应是正确的。为什么第一个命令从我的主机返回$ HOME值?
答案 0 :(得分:6)
echo $HOME
正在您的主机上进行评估,因为您还没有获得切换正确的切换语法。这是Linux所以你需要单引号。
尝试用单引号替换双引号。
例如。这就是我得到的:
bash-3.2$ docker run ubuntu /bin/bash -c 'echo $HOME'
/root