可以将来自docker-compose.yml的env变量传递给dockerfile吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可以将来自docker-compose.yml的env变量传递给dockerfile吗?相关的知识,希望对你有一定的参考价值。
是否可以将来自docker-compose.yml文件的env传递给dockerfile。
我在dockerfile里面有这样的:
RUN $(npm bin)/ng build --prod --env=prod
但我想要的是当docker-compose.yml有一个build_env时:
environment:
BUILD_ENV: 'test'
然后我想要码头工人
RUN $(npm bin)/ng build --prod --env=test
我如何实现这样的目标?或者还有其他更好的解决方案吗?
答案
您可以查看此文档:
https://docs.docker.com/compose/compose-file/#args
build:
context: .
args:
- buildno=1
- password=secret
- buildenv=prod
-
ARG buildno
ARG password
ARG buildenv
RUN echo "Build number: $buildno"
RUN script-requiring-password.sh "$password"
RUN $(npm bin)/ng build --prod --env="$buildenv"
以上是关于可以将来自docker-compose.yml的env变量传递给dockerfile吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何将docker-compose.yml转换为Dockerfile
Docker Compose:将 docker-compose.yml 中的不同服务部署到不同的主机集
如何使用来自其他目录的 docker-compose 环境变量