Docker部署Seata与Nacos整合
运行所使用的demo项目地址
本文作者:FUNKYE(陈健斌),杭州某互联网公司主程。
前言
直连方式的Seata配置博客
Seata整合Nacos配置博客
我们接着前几篇篇的基础上去配置nacos做配置中心跟dubbo注册中心.
准备工作
1.安装docker
1 | yum -y install docker |
2.创建nacos与seata的数据库
1 | /******************************************/ |
1 | -- the table to store GlobalSession data |
3.拉取nacos以及seata镜像并运行
1 | docker run -d --name nacos -p 8848:8848 -e MODE=standalone -e MYSQL_MASTER_SERVICE_HOST=你的mysql所在ip -e MYSQL_MASTER_SERVICE_DB_NAME=nacos -e MYSQL_MASTER_SERVICE_USER=root -e MYSQL_MASTER_SERVICE_PASSWORD=mysql密码 -e MYSQL_SLAVE_SERVICE_HOST=你的mysql所在ip -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_DATABASE_NUM=1 nacos/nacos-server:latest |
1 | docker run -d --name seata -p 8091:8091 -e SEATA_IP=你想指定的ip -e SEATA_PORT=8091 seataio/seata-server:latest |
Seata配置
1.由于seata容器内没有内置vim,我们可以直接将要文件夹cp到宿主机外来编辑好了,再cp回去
1 | docker cp 容器id:seata-server/resources 你想放置的目录 |
2.使用如下代码获取两个容器的ip地址
1 | docker inspect --format='{{.NetworkSettings.IPAddress}}' ID/NAMES |
3.nacos-config.txt编辑为如下内容
1 | transport.type=TCP |
详细参数配置请点此处
4.registry.conf编辑为如下内容
1 | registry { |
5.配置完成后使用如下命令,把修改完成的registry.conf复制到容器中,并重启查看日志运行
1 | docker cp /home/seata/resources/registry.conf seata:seata-server/resources/ |
6.修改nacos-config.sh
1 | for line in $(cat nacos-config.txt) |
7.运行nacos-config.sh将配置上传的nacos中,登录nacos控制中心查看
如图所示便是成功了.
进行调试
1.拉取博文中所示的项目,修改test-service的application.yml与registry.conf
1 | registry { |
1 | server: |
2.把修改完成的registry.conf复制到test-client-resources中,并修改application
1 | spring: |
4.依次运行test-service,test-client.
5.查看nacos中服务列表是否如下图所示
总结
关于nacos与seata的docker部署已经完成了,更详细的内容希望希望大家访问以下地址阅读详细文档