dubbo 2.7.4.1转docker部署记录(1)
dobbo + docker 的部署记录, 本文已废弃, 推荐查看局域网gitlab + maven + docker自动化测试部署实现
背景
平台原基于dubbox 2.8.4开发,使用如下架构:
- zookeeper
- dubbox 2.8.4
- postgreSQL
- RocketMQ
- Redis
总共租用了5台服务器,每次更新部署都头大。再有dubbo更新,打算升级dubbox到dubbo 2.7.x,并使用docker进行镜像部署管理。现记录如下
说明:
- dubbo 样例直接使用 dubbo官网的demo, 文中不再列举
- 平台架构不变
- 服务器: centos 7.7
docker安装
- 安装yum工具
1yum install -y yum-utils device-mapper-persistent-data lvm2
- 备份原仓库文件
1mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 添加阿里云仓库文件
1yum-config-manager --add-repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 修改为基础仓库文件
1mv /etc/yum.repos.d/Centos-7.repo /etc/yum.repos.d/CentOS-Base.repo
- 添加docker的阿里云源
1yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 更新缓存
1yum makecache fast
如果通过
yum install docker
安装过1.x版本的docker,需要卸载
1yum remove docker \
2 docker-client \
3 docker-client-latest \
4 docker-common \
5 docker-latest \
6 docker-latest-logrotate \
7 docker-logrotate \
8 docker-engine
- 安装docker-ce
1yum install -y docker-ce docker-ce-cli containerd.io
- 配置国内镜像加速
1sudo mkdir -p /etc/docker
2sudo tee /etc/docker/daemon.json <<-'EOF'
3{
4 "registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"]
5}
6EOF
7sudo systemctl daemon-reload
8sudo systemctl restart docker
使用的是阿里云的镜像加速服务
网络配置
使用overlay网络配置整个docker网络,新版docker的ovlerlay必须启用swarm才能创建。
服务器情况: 5台应用服务器,分为: manager(192.168.1.12), worker1(192.168.1.11)~worker4,同时manager也是一台worker机 只考虑服务器单网卡,单网络环境情况
- 初始化swarm, manager机上执行, 并保存输出的
docker swarm join
语句
1docker swarm init
- 加入swarm, worker机上执行, 刚才保存的
docker swarm join
语句
1docker swarm join --token <swarm join token> 192.168.1.12:2377
- 创建overlay网络,manager上执行
1docker network create -d overlay xy-docker --subnet 192.168.10.0/24 --attachable
- 基于网络运行应用, manager
1docker run -it --network xy-docker busybox
- worker机上是看不到xy-docker的网络的,直接执行run就可以了
1docker run -it -network xy-docker busybox
- 互ping一下即可,发现网络已通
现在整个服务器基础已经创建完毕,下篇将说明如何修改dubbo项目