使用相同代码部署多个容器 (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”