如何在多阶段构建中为容器定义环境变量

时间:2018-07-31 07:10:42

标签: docker docker-compose

以下是我的docker-compose.yaml ...的摘录

services:
  my_service:
    container_name: 'my_service'
    env_file: 'variables.env'
    build:
      context: '.'
      dockerfile: 'Dockerfile'
    ...

...,这是引用的Dockerfile

FROM golang:alpine as builder
RUN go build -o /build/my_service .
...

FROM alpine
...
COPY –from=builder /build/my_service .
CMD["./my_service"]

问题在于,当启动最终容器(在最后阶段定义的容器)时,没有设置env_file指令指定的文件中定义的环境变量。

阅读文档我了解用env_file定义的环境变量是为容器而不是为构建过程所用。我想念什么吗?

1 个答案:

答案 0 :(得分:0)

我已经将docker-compose从1.17.1版本更新到1.22.0版本,现在可以使用了。最后,仅考虑container_name是一个陷阱选项,应尽可能避免使用。有关更多详细信息,请参见this thread