Dee*_*Kar 3 docker docker-compose
我想运行 3 个在某个端口上运行的 docker 镜像实例。我希望所有 3 个实例的端口都暴露给主机。我希望能够控制哪个主机端口映射到容器。
首先,我尝试在 docker-compose.yml 中创建 3 个不同的服务。这有效但不是可取的。
其次,我在 docker-compose.yml 中创建了一个服务,然后我尝试通过环境变量控制暴露的端口。但是当我创建第二个容器时,docker 删除了我创建的第一个容器。
我无法使用该scale选项,因为它将暴露的端口映射到主机上的随机端口。
myservice:
image: myimage:latest
container_name: service-${PORT}
volumes:
- ${DIR}:/data
ports:
- "${PORT:-8011}:8011"
- "${ADMINPORT:-8012}:8012"
Run Code Online (Sandbox Code Playgroud)
您可以设置端口范围以使用以下scale选项compose:
ports: - "8011-8013:8011"
Run Code Online (Sandbox Code Playgroud)
启动它:
docker-compose up --scale myservice=3
Run Code Online (Sandbox Code Playgroud)
然后容器将使用 port 8011,8012并且8013
| 归档时间: |
|
| 查看次数: |
2367 次 |
| 最近记录: |