如何从Dockerfile shell脚本中的.env文件获取环境variables值?
我如何在shell脚本中访问.env文件中定义的环境variables?
.env文件
USERNAME=user PASSWORD=pass
Dockerfile
.... COPY ./compose/django/celery/worker/start_celery_flower.sh /start_celery_flower.sh RUN sed -i 's/\r//' /start_celery_flower.sh RUN chmod +x /start_celery_flower.sh ....
我尝试在shell脚本中使用$USERNAME
,但这不起作用。 我能够在容器内运行的应用程序中访问这些variables。
docker build $(cat .env | xargs -n1 echo '--build-arg' | tr '\n' ' ') .
并在你的Dockerfile
添加
ARG USERNAME ARG PASSWORD
基本上你需要使用–build-arg过去构build参数。 我发布的命令将有助于从文件中获取多个。
编辑-1
在docker-compose中使用,如下所示
version: '3' services: web: build: context: . args: - USERNAME=$USERNAME - PASSWORD=$PASSWORD
现在您需要在发送到docker-compose之前导出variables
set -a source .env set +a docker-compose up --build -d
- 在Docker容器中永久更新PATH环境variables
- 构build之后,将Environmentvariables传递给Webpack 2
- 如何获得dockerfile来评估我发送给它的环境variables?
- ENV 。编码返回#<Encoding:ASCII-8BIT>在生产时被分配一个Unicodestring
- 如何设置多个指向docker上相同值的envvariables?
- Docker环境variables对于没有名字意味着什么?
- ECS Docker Container获取运行cron的envvariables
- 将环境dockervariables导出到文件
- Docker容器中的别名服务环境var