Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';无法从docker容器内部获取环境_Docker_Environment Variables_Gitlab Ci_Alpine - Fatal编程技术网

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
not
FOO

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'