使用docker compose微服务编排
一、安装docker compose
1,如果github可用
Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
2,如果github国内访问不了
更新yum源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
安装python-pip
先查看最新版本
yum list | grep ^python.*x86_64
选最新版本进行安装
yum -y install python36
查看结果
python3 --version
pip3 --version
使用国内源升级pip3
pip3 install --upgrade pip --default-timeout=10000 -i https://pypi.doubanio.com/simple/
使用国内源安装setuptools
pip3 install -U pip setuptools --default-timeout=10000 -i https://pypi.doubanio.com/simple/
使用国内源安装docker-compose
pip3 install docker-compose --default-timeout=10000 -i https://pypi.doubanio.com/simple/
查看docker-compose版本
docker-compose version
二、使用docker-compose
1,使用docker-compose将微服务构建为镜像
进入编排目录
cd /opt/dockerApp
编写docker-compose.yml
vim docker-compose.yml
1 book-register: #指定服务名
2 build: ./book-register #指定Dockerfile所在路径
3 ports:
4 - "8888:8888" #指定端口映射
5 expose:
6 - 8888 #容器提供服务端口
执行编排,构建镜像
docker-compose up
2,使用docker-compose将镜像构建成容器
此种方法,需要使用docker build命令制作好docker镜像,或使用上述方法生成镜像。
在任意一个目录
vim docker-compose.yml
1 version: '2' #配置格式,选择为版本2的格式
2 services:
3 book-register: #服务名
4 image: book-register:2.0 #镜像
5 ports:
6 - "8888:8888"
7 book-config:
8 image: book-config:2.0
9 ports:
10 - "9000:9000"
构建容器
docker-compose up
3,使用docker-compose将镜像构建为高可用微服务集群
在任意一个目录
vim docker-compose.yml
1 version: '2'
2 services:
3 peer1:
4 image: eureka
5 ports:
6 - "8001:8001"
7 environment:
8 - spring.profiles.active=peer1
9 peer2:
10 image: eureka
11 ports:
12 - "8002:8002"
13 environment:
14 - spring.profiles.active=peer2
15 user:
16 image: user
17 order:
18 image: order
构建容器
docker-compose up -d
容器的水平扩展
docker-compose scale user=2 order=2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2018-11-29 分组正则替换字符串中特定字符