我想在docker-compose中使用来自主机操作系统的'secret'(密码等)env变量 .
我认为可以使用数据容器来实现这一点 . 但它不起作用 - “没有文件存在” . 请告知错误,如果这样做可行 .
泊坞窗,compose.yml
version: '2'
services:
web:
build: .
command: bundle exec puma
env_file: .env
environment:
- RACK_ENV=production
- RAILS_ENV=production
volumes_from:
- config
ports:
- "3000:3000"
links:
- db
config:
image: busybox
volumes:
- /myapp/config/.env:.env
我也尝试使用 /myapp/config:/config
作为卷和 /config/.env
作为env_file,但结果相同 .
Dockerfile没有以任何方式提及或引用'config'或'.env' .
谢谢你的回复 .
1 回答
撰写env文件
env_file
文件由docker-compose
本地在您运行它的目录中读取 . 然后在运行时将变量传递给容器(如docker run -e
) .替换
撰写也可以substitute environment variables进入配置
如果在运行
docker-compose
时使用下面的环境定义在主机上设置了SECRET_HOST_ENV_VARIABLE
SECRET_ENV_VARIABLE
将在容器环境中可用 .