使用相同代码部署多个容器 (Docker)
Deploying multiple container with same code (Docker)
我有一个自定义构建映像(Python + 项目),它工作正常,我只想使用 docker 部署多个容器 - 只编写环境变量,其余的是相同的它可以通过 docker-compose.yml
中的一项服务完成
docker-compose.yml
version: '3'
services:
logsService:
image: logs:latest # logs image is already built and working fine
env_file:
- /home/controller/test/.env # File contains url, api_key, api_secret
通过使用 docker-compose up 我可以提供一个容器,但我想提供 4 个具有相同代码但环境变量不同的容器(即 url、api_key、api_secret), 任何实现此目的的想法都将被应用
注意:我是 docker 的新手,如果这是一个愚蠢的问题,请原谅我。
您可以使用 docker-compose 命令
docker-compose --scale --name="numberofcontainers"
所以如果我想启动我的“网络服务器”容器 3 次,那就是
docker-compse --scale --webserver=3
正如您所说的,您是新手,我建议您也研究一下负载均衡器。否则您的其他容器将无用
所以,也许是这样的:
version: '3'
services:
logsService:
image: logs:latest
env_file:
- /home/controller/test/${ENV:-}.env
ENV=prod docker-compose --project-name prod up
假设您的生产配置位于“prod.env”
我有一个自定义构建映像(Python + 项目),它工作正常,我只想使用 docker 部署多个容器 - 只编写环境变量,其余的是相同的它可以通过 docker-compose.yml
中的一项服务完成docker-compose.yml
version: '3'
services:
logsService:
image: logs:latest # logs image is already built and working fine
env_file:
- /home/controller/test/.env # File contains url, api_key, api_secret
通过使用 docker-compose up 我可以提供一个容器,但我想提供 4 个具有相同代码但环境变量不同的容器(即 url、api_key、api_secret), 任何实现此目的的想法都将被应用
注意:我是 docker 的新手,如果这是一个愚蠢的问题,请原谅我。
您可以使用 docker-compose 命令
docker-compose --scale --name="numberofcontainers"
所以如果我想启动我的“网络服务器”容器 3 次,那就是
docker-compse --scale --webserver=3
正如您所说的,您是新手,我建议您也研究一下负载均衡器。否则您的其他容器将无用
所以,也许是这样的:
version: '3'
services:
logsService:
image: logs:latest
env_file:
- /home/controller/test/${ENV:-}.env
ENV=prod docker-compose --project-name prod up
假设您的生产配置位于“prod.env”