繁体   English   中英

使用 env_file 参数指定的 Docker 组合环境变量在 dockerfile 中不起作用

[英]Docker compose environment variables specified with env_file parameter not working inside the dockerfile

这是我docker-compose.yml docker-compose build percona_dev运行docker-compose.yml文件的片段。

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 或我的图像的文件系统层历史记录中暴露敏感的环境变量?

环境变量不可用于构建步骤。 请参阅此提案,以在 compose 和此功能请求中使一点更加明显,以支持添加到 docker 1.9 的新构建参数。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM