前言
我们知道以前使用docker的时候启动两个节点需要我们构建两个镜像,每个镜像都分别映射端口并启动镜像
非常的不方便,但我们用docker-compose就可以非常方便 的启动了
docker-compose.yml配置
代码语言:javascript复制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 #网络的类型
- version是表示docker-compose的版本 2比较老了,推荐3版本
- web是服务名称
- context 是Dockerfile的路径
- dockerfile Dockerfile的名字
- images是镜像的名称(这边注意一点要带镜像的版本号)
- restart是容器的启动方式 (always表示崩溃自启)
- network_mode 是容器的网络默认为 bridge (我们一次性启动两个容器不能使用host)
- ports是端口返回 指定8080-8081之间的返回 右边的8080是容器内的服务端口
启动
代码语言:javascript复制docker-compose up -d --scale web=2
- --scale web=2 表示启动两个节点
查看应用状态
代码语言:javascript复制[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
我们可以看到已经启动了两个节点了