Docker-Linux部署Seata环境


官方配置文档: go.

① Mysql配置

seata需要使用mysql存储日志信息。

在这里插入图片描述

启动mysql:
docker run --name seata-mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
设置mysql密码为123456

主机Mysql客户端连接虚拟机Linux的Mysql,并新建一个名为seata数据库(数据库名与seata的file.conf配置有关),运行seata的mysql脚本即可。
在这里插入图片描述在这里插入图片描述

② Nacos配置

以单机模式启动nacos

docker run --name nacos-pay-cloud -d -p 8848:8848 -e MODE=standalone nacos/nacos-server:1.3.2

③ Seata配置

① 下载Seata

docker pull seataio/seata-server:1.4.2

② 启动Seata

docker run --name seata -d -p 8091:8091 seataio/seata-server:1.4.2

③ 拷贝Seata配置文件到本地

docker cp seata:/seata-server/resource /usr/etc/seata
同时移除已启动的seata容器 (-rf表示强制移除已经启动的容器并且无提示信息)
docker rm -rf seata

④ 编辑本地/usr/etc/seata/registry.conf配置文件

#剩余的其他配置可以删除
registry {
  # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
  type = "nacos" 											#将注册中心改为nacos

  nacos {
    application = "CLOUD-ALIBABA-SEATA"						#注册进nacos的实例名称
    serverAddr = "192.168.0.112:8848"						#nacos注册中心ip
    group = "SEATA_GROUP"									#注册进nacos的分组名称 无需修改
    namespace = ""											#命名空间
    cluster = "default"										#集群模式
    username = "nacos"										#nacos登陆账号
    password = "nacos"										#nacos登陆密码
  }
 
}

config {
  # file、nacos 、apollo、zk、consul、etcd3
  type = "file"												#将配置选为file 文件形式

  file {
  	#使用自定义配置文件时 必须指定配置文件路径 且需以file:开头
    name = "file:/seata-server/resource/file.conf"	#file.conf在docker容器里的位置 且位置必须
  }
}

⑤ 编辑本地/usr/etc/seata/file.conf配置文件

#其他配置信息可以删除
store {
  ## store mode: file、db、redis
  mode = "db"																#将日志存储形式改为数据库存储
  ## rsa decryption public key
  publicKey = ""
  ## database store property
  db {
  	#以下是mysql连接配置信息 已标注出需要修改的字段
    datasource = "druid"
    dbType = "mysql"
    driverClassName = "com.mysql.jdbc.Driver"
    url = "jdbc:mysql://192.168.0.112:3306/seata?rewriteBatchedStatements=true"		#数据库连接地址 需要修改
    user = "root"															#数据库连接账号 需要修改
    password = "123456"														#数据库连接密码 需要修改
    minConn = 5
    maxConn = 100
    globalTable = "global_table"
    branchTable = "branch_table"
    lockTable = "lock_table"
    queryLimit = 100
    maxWait = 5000
  }
}

⑥ 启动seata

使用自定义配置文件时必须指定环境变量 SEATA_CONFIG_NAME, 并且值需要以file:开始

docker run --name seata -p 8091:8091 \
-e SEATA_CONFIG_NAME=file:/seata-server/resource/registry \
-e SEATA_IP=192.168.0.150 \
-v /usr/etc/seata:/seata-server/resource \
seataio/seata-server:1.4.2

最好配置一下SEATA_IP,否则注册进nacos的ip将是docker容器内的ip

seata-server 支持以下环境变量:

  • SEATA_IP

    可选, 指定seata-server启动的IP, 该IP用于向注册中心注册时使用, 如eureka等

  • SEATA_PORT

    可选, 指定seata-server启动的端口, 默认为 8091

  • STORE_MODE

    可选, 指定seata-server的事务日志存储方式, 支持db ,file,redis(Seata-Server 1.3及以上版本支持), 默认是 file

  • SERVER_NODE

    可选, 用于指定seata-server节点ID, 如 1,2,3…, 默认为 根据ip生成

  • SEATA_ENV

    可选, 指定 seata-server 运行环境, 如 dev, test 等, 服务启动时会使用 registry-dev.conf 这样的配置

  • SEATA_CONFIG_NAME

    可选, 指定配置文件位置, 如 file:/root/registry, 将会加载 /root/registry.conf 作为配置文件,如果需要同时指定 file.conf文件,需要将registry.conf的config.file.name的值改为类似file:/root/file.conf:

结果图

在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值