zl程序教程

您现在的位置是:首页 >  APP

当前栏目

docker-compose一个应用启动多个节点

2023-03-07 09:10:59 时间

前言

我们知道以前使用docker的时候启动两个节点需要我们构建两个镜像,每个镜像都分别映射端口并启动镜像

非常的不方便,但我们用docker-compose就可以非常方便 的启动了

docker-compose.yml配置

version: "3"
services:
  web:
    build:
        context: /home/chatAPI/
        dockerfile: Dockerfile
    image: demo-web1:v1.0.0
    restart: always
    network_mode: bridge
    ports:
        - 8080-8081:8080
 
 
 
networks:
  host1: #自定义网络的名称
    driver: host #网络的类型
 
 

  1. version是表示docker-compose的版本 2比较老了,推荐3版本
  2. web是服务名称
  3. context 是Dockerfile的路径
  4. dockerfile Dockerfile的名字
  5. images是镜像的名称(这边注意一点要带镜像的版本号)
  6. restart是容器的启动方式 (always表示崩溃自启)
  7. network_mode 是容器的网络默认为 bridge (我们一次性启动两个容器不能使用host)
  8. ports是端口返回 指定8080-8081之间的返回 右边的8080是容器内的服务端口

启动

docker-compose up -d --scale web=2
  • --scale web=2 表示启动两个节点

查看应用状态

[root@ser828565752490 ~]# docker-compose ps
   Name                 Command               State                    Ports                  
----------------------------------------------------------------------------------------------
root_web_1   java -Djava.security.egd=f ...   Up      0.0.0.0:8080->8080/tcp,:::8080->8080/tcp
root_web_2   java -Djava.security.egd=f ...   Up      0.0.0.0:8081->8080/tcp,:::8081->8080/tcp

我们可以看到已经启动了两个节点了