Docker-Compose在不同端口中运行一个映像的多个实例

Pee*_*yte 2 docker docker-compose

我有一个python flask应用程序,并且我想在同一台服务器上拥有多个实例,每个服务器都有自己的输出端口(或DNS)和依赖项。我使用了docker-compose,效果很好。我看到了scalearg,但我认为它对诸如负载平衡这样的应用程序没有不同版本的应用程序很有用。我想到的另一个解决方案是为一个应用程序提供多种服务,并在终端中按其名称运行每个实例。

Ale*_*hin 6

docker-compose scale命令已弃用,文档建议您使用docker-compose up --scale SERVICE=NUM。但是在指定用于扩展的端口时必须小心。如果您尝试将容器放在端口上80五次,则五个端口中的四个将失败-该端口已被占用。但是有一个解决方案。

我刚刚测试了这种方法,它奏效了。这是docker-compose.yml我测试过的:

version: '3.7'
services:
  test_app:
    image: <my_custom_image>
    ports:
      - 10000-10003:80
Run Code Online (Sandbox Code Playgroud)

然后,我将其与一起运行,docker-compose up --scale test_app=4test_app在四个不同(但预先指定)的端口100001000110002和)上部署了4个实例10003

希望我回答了你的问题。