Docker compose环境变量不工作
我试图在docker compose文件中设置env var,但该var似乎不会传播到我的docker 我的码头工人:Docker compose环境变量不工作,docker,docker-compose,Docker,Docker Compose,我试图在docker compose文件中设置env var,但该var似乎不会传播到我的docker 我的码头工人: test: build: ./ environment: TESTVAR: "YOU ARE BEST" 我的dockerfile: FROM alpine RUN echo test variable is: $TESTVAR 产出: Step 1/2 : FROM alpine ---> 3fd9065eaf02 Step 2/2 : RUN
test:
build: ./
environment:
TESTVAR: "YOU ARE BEST"
我的dockerfile:
FROM alpine
RUN echo test variable is: $TESTVAR
产出:
Step 1/2 : FROM alpine
---> 3fd9065eaf02
Step 2/2 : RUN echo test variable is $TESTVAR
---> Running in d5f5505b26db
test variable is
Removing intermediate container d5f5505b26db
---> a9c019ac7eff
Successfully built a9c019ac7eff
Successfully tagged phpfpm_test:latest
Recreating phpfpm_test_1 ... done
Attaching to phpfpm_test_1
我错过什么了吗
注意:如果您的服务指定了生成选项,则在生成期间,环境中定义的变量不会自动可见。使用build的子选项定义构建时环境变量。-
因此,您可以使用参数而不是环境:
Docker Compose v2或v3:
Dockerfile:
FROM alpine
RUN echo test variable is: $TESTVAR
要求:
Docker Compose:1.6.0+
Docker引擎:1.10.0+
注意:您需要在FROM之后定义参数ARG TESTVAR,以使用docker compose文件中指定的值。您可以在docker compose文件的同一目录中使用.env文件,对我有效。当我在定义服务时使用image而不是build选项时,该怎么办?
FROM alpine
ARG TESTVAR
RUN echo "test variable is: $TESTVAR"