【发布时间】:2020-10-07 14:08:49
【问题描述】:
我目前正在用 python 构建一个网络爬虫。但是为了访问特定页面,我需要一个 API 密钥,并且该密钥在请求方面受到严格限制。所以,我的想法是创建 python 脚本并将 API 密钥设置为每个容器的环境变量。这样,我可以以更大的吞吐量进行抓取。
现在,我的问题:
我知道您可以通过docker-compose.yml 设置环境变量,但这样做不会使该文件可以通过 git 上的公共存储库共享。有没有比通过撰写文件更好的方法来为每个容器设置环境变量?我正在考虑 .env 文件,但这使它成为 python 脚本中的噩梦,因为我必须在我的文件夹中以不同的方式命名每个文件。
这就是我的撰写文件现在的样子
version: '3'
services:
user-list_1:
build: .
environment:
- API_KEY="1212_323131-23"
user-list_2:
build: .
environment:
- API_KEY="API_KEYFOR2"
【问题讨论】:
-
env_file可以是任何你想要的名字。 -
我尝试使用 ``` env_file: - .env.container1 ``` 但这意味着
.env.container1被复制到容器中,不是吗?如果我使用load_dotenv它将无法工作 -
load_dotenv 是 Python 函数吗?如果是这样,您将改用 Docker 卷。否则,你只需要 os.env
-
啊,我想念文档。我认为当您从 docker-compose 加载 .env 时,我需要使用
load_dotenv但事实证明它们已经设置在容器中。感谢您的帮助!
标签: docker docker-compose