如何在不同的容器中使用docker-comp env文件variables与golang?
. ├── articaleServer │ ├── Dockerfile │ ├── main.go │ └── sources.json ├── butler │ ├── Dockerfile │ ├── main.py │ └── requirements.txt ├── docker-compose.yml ├── frontEnd │ ├── Dockerfile │ ├── main.go │ ├── tags.json │ └── templates │ ├── auth.html │ ├── feed.html │ ├── footer.html │ ├── header.html │ ├── main.html │ └── today.html └── server ├── Dockerfile ├── keys │ ├── app.rsa │ └── app.rsa.pub └── main.go
.ENV
MONGO_USERNSME=user MONGO_USERNSME=password
我有.env文件的path与docker-compose.yml,我需要使用variablesforms在其他容器(articaleServer,pipe家,服务器)
mongoDBDialInfo := &mgo.DialInfo{ Addrs: []string{"mongodb://mongo:27017"}, Username: os.Getenv("MONGO_USERNSME"), Password: os.Getenv("MONGO_PASSWORD"), }
但是不去看,通过零
放置在与docker-compose.yml
相同目录中的docker-compose.yml
文件仅用于撰写文件中的variablesreplace。
另一方面,你可以定义一个env_file
关键字,在运行时将env vars从文件传递给容器:
services: some_service: image: someimg env_file: - .env
它的工作方式与Dockerfile
或Dockerfile
docker run -e
的环境语句Dockerfile
。
正如列表types所暗示的,您可以使用多个文件来覆盖特定服务的一些通用configuration密钥。