【发布时间】: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