Environment variables in docker when exec docker r

2019-05-11 10:17发布

I've got a problem with environment variables in docker. When I run command:

$ docker run ubuntu /bin/bash -c "echo $HOME"

I've got response:

/Users/bylek

But when I run:

$ docker run -it ubuntu /bin/bash

and then:

root@5e079c47affa:/# echo $HOME

I've got:

/root

Second response is correct. Why first command return $HOME value from my host?

标签: linux docker
1条回答
做个烂人
2楼-- · 2019-05-11 11:01

echo $HOME is being evaluated on your host because you haven't got the syntax of the switch to bash correct. It's Linux so you need single quotes.

Try replacing your double quotes with single quotes.

eg. This is what I get:

bash-3.2$  docker run ubuntu /bin/bash -c 'echo $HOME'
/root
查看更多
登录 后发表回答