Can';无法从docker容器内部获取环境
我有一个基于阿尔卑斯山的码头工人,带有预设的环境Can';无法从docker容器内部获取环境,docker,environment-variables,gitlab-ci,alpine,Docker,Environment Variables,Gitlab Ci,Alpine,我有一个基于阿尔卑斯山的码头工人,带有预设的环境$FOO: FROM alpine:3.9 ARG FOO ENV FOO ${FOO} 我使用gitlab ci中的run命令传递变量:docker build--build arg FOO=$BAR。 然后我尝试docker run-it container\u name echo$BO\u USER并获取BAR. 但我无法从运行在内部或通过交互式shell的应用程序获取此环境:docker run-it container\u name/b
$FOO
:
FROM alpine:3.9
ARG FOO
ENV FOO ${FOO}
我使用gitlab ci中的run
命令传递变量:docker build--build arg FOO=$BAR。
然后我尝试
docker run-it container\u name echo$BO\u USER
并获取BAR.但我无法从运行在内部或通过交互式shell的应用程序获取此环境:
docker run-it container\u name/bin/sh
和echo$FOO
有什么问题吗?首先,Dockerfile中没有
ARG FOO
,应该是这样的
建造
其中$BAR是我假设在主机上设置的变量
Dockerfile
FROM alpine
ARG BO_USER
ENV BO_USER=${BO_USER}
RUN echo "ENV is $BO_USER"
但当您运行下面的命令时,您应该查找BO_USER
notFOO
docker run -it container_name /bin/sh and echo $BO_USER
或
您应该使用单引号,否则bash将在主机上查找变量
docker run -it --rm image_name sh -c 'echo $BO_USER'
docker run -it --rm image_name sh -c 'echo $BO_USER'