【问题标题】:Docker compose environment variables specified with env_file parameter not working inside the dockerfile使用 env_file 参数指定的 Docker 组合环境变量在 dockerfile 中不起作用
【发布时间】:2015-10-26 16:35:59
【问题描述】:

这是我使用docker-compose build percona_dev 运行的docker-compose.yml 文件的sn-p。

percona_dev:
  build: docker/percona
  dockerfile: percona-dev
  env_file: docker.env

我在docker.env 中指定了环境变量,如下所示:

USERNAME=xxx
PASSWORD=xxx
DESKTOP_IP=192.168.1.1
PLAYBOOK_LOCATION=/path/to/location/

这是我的Dockerfile 的相关部分,称为percona-dev

FROM percona:5.6.24
MAINTAINER xxx

RUN apt-get update && apt-get install wget

RUN wget --ftp-user=$USERNAME --ftp-password=$PASSWORD ftp://$DESKTOP_IP/$PLAYBOOK_LOCATION/inventory/localhost -O /tmp/playbook/hosts

EXPOSE 3306
ENTRYPOINT [“/usr/bin/mysql”]

不幸的是,环境变量没有被识别并且构建失败:

Step 5 : RUN wget --ftp-user=$USERNAME --ftp-password=$PASSWORD ftp://$DESKTOP_IP/$PLAYBOOK_LOCATION/inventory/localhost -O /tmp/playbook/hosts
 ---> Running in 3595b5ce9581
ftp:////inventory/localhost: Invalid host name.
Service 'percona_dev' failed to build:

如何确保在不暴露 Dockerfile 或映像的文件系统层历史记录中的敏感环境变量的情况下运行构建?

【问题讨论】:

    标签: docker environment-variables docker-compose fig


    【解决方案1】:

    环境变量不可用于构建步骤。请参阅this proposal 以在 compose 中使这一点更加明显,this feature request 以支持添加到 docker 1.9 的新构建参数。

    构建参数将满足您的需求。

    【讨论】:

      猜你喜欢
      • 2019-12-18
      • 2019-12-07
      • 2014-01-20
      • 2019-01-13
      • 2021-08-06
      • 1970-01-01
      • 1970-01-01
      • 2019-09-11
      • 2018-04-20
      相关资源
      最近更新 更多