一、实现目的
本文主要讲解如何通过docker-compose进行单服务器部署多服务场景的快速处理,按之前文章讲解的内容,我们如果需要部署多个服务的话,且需要运行多次docker插件,且每次运行时都需要调整不同的端口,避免端口冲突,如果一台服务器部署了4 5个服务的时候,那就会导致发版流程变的异常繁琐,这时候我们就可以通过docker-compose的scale命令参数来解决这个问题,接下来我们来看下怎么在Idea中进行使用吧。
二、实现过程
第一步
按照这篇文章进行操作:传送门
第二步
依据上篇文章的配置需做出如下调整:
- docker-compose.yml文件调整
主要调整prots将原来的19001调整为19001-19002,意思就是我最多可发布两个服务,端口为19001、19002
# Docker Compose配置文件版本
version: "3.7"
# 定义服务
services:
# 服务名称(容器名):consulting
consulting:
# 指定构建该服务镜像时使用的Dockerfile位置和上下文
build:
context: "../web" # Dockerfile所在的目录
dockerfile: "DockerFile" # Dockerfile的文件名
# 指定服务运行时使用的镜像名称
image: "consulting:latest"
# 设置服务失败时自动重启策略
restart: "always"
# 挂载主机目录到容器,实现数据持久化或共享
volumes:
- "/etc/hosts:/etc/hosts" # 挂载主机的/etc/hosts到容器的/etc/hosts
- "/opt/workspace/consulting/www:/opt/consulting/www" # 挂载项目工作目录到容器的工作目录
# 映射容器端口到主机端口
ports:
- "19001-19002:9001" # 容器端口9001映射到主机端口19001
- 调整docker-compose up配置项
选择Modify—>Override scale,选择对应的Service服务及需要部署的服务数量Scale To即可。