如何从docker-compose.yml中的.env文件中注入变量
为什么我的.env变量没有注入我的docker-compose.yml 我有一个文件夹,其中包含: .env文件:如何从docker-compose.yml中的.env文件中注入变量,docker,docker-compose,Docker,Docker Compose,为什么我的.env变量没有注入我的docker-compose.yml 我有一个文件夹,其中包含: .env文件: NPM_TOKEN=<NPM_TOKEN> 当我运行docker compose-up--build 但是,当我直接将值保存到docker compose.yml中时,它会起作用: docker-compose.yml version: "3" services: msaccountpublic: build: conte
NPM_TOKEN=<NPM_TOKEN>
当我运行docker compose-up--build
但是,当我直接将值保存到docker compose.yml
中时,它会起作用:
docker-compose.yml
version: "3"
services:
msaccountpublic:
build:
context: ../app
dockerfile: Dockerfile
args:
NPM_TOKEN: ${NPM_TOKEN}
command: npm start
version: "3"
services:
msaccountpublic:
build:
context: ../app
dockerfile: Dockerfile
args:
NPM_TOKEN: <NPM_TOKEN> (the value directly hard coded here)
command: npm start
版本:“3”
服务:
msaccountpublic:
建造:
上下文:../app
dockerfile:dockerfile
args:
NPM_标记:(此处直接硬编码的值)
命令:npm start
但是,我想在没有个人凭据的情况下提交docker-compose.yml您可以通过
docker-compose build--build arg NPM_TOKEN=123传递build arg
是的,但是有没有办法将其存储在外部文件中?我的最小示例与您描述的完全相同。能否在docker文件的开头添加运行echo“$NPM_TOKEN”
,并测试它是否真的无法读取令牌?哦,只是为了验证一下,您是。env
文件与docker compose.yml
位于同一文件夹中?您正在该文件夹中执行docker compose up--build
?运行echo“$NPM_TOKEN”不会打印任何内容是的,这正是我尝试的。您可以通过docker compose build--build arg NPM_TOKEN=123传递build arg,但是有没有办法将其存储在外部文件中呢?我的示例与您描述的完全相同。能否在docker文件的开头添加运行echo“$NPM_TOKEN”
,并测试它是否真的无法读取令牌?哦,只是为了验证一下,您是。env
文件与docker compose.yml
位于同一文件夹中?您正在执行此文件夹中的docker compose up--build
?运行echo“$NPM_TOKEN”不会打印任何内容是的,这正是我尝试的。