微服务和seata的版本关系
1:docker pull seataio/seata-server拉取镜像
[root@WFWCS ~]# docker search seata
NAME DESCRIPTION STARS OFFICIAL
apache/seata-server Apache Seata 0
apache/seata-controller Apache Seata Controller 1
seataio/seata-server Distributed transaction solution with high p… 80
seatable/seatable-developer Beyond Spreadsheet – official Docker image f… 24
seatable/seatable-enterprise Beyond Spreadsheet – official Docker image f… 11
seatable/seatable-python-runner Runner image for SeaTable Python scripts 0
seatable/seatable-python-scheduler Scheduler image for SeaTable Python scripts 0
seatable/seatable-python-starter Starter image for SeaTable Python scripts 0
seatable/seatable-enterprise-testing 0
vqui/seatable-python-runner https://github.com/vquie/seatable-python-run… 0
vqui/seatable-faas-scheduler https://github.com/vquie/seatable-faas-sched… 0
seatag/ofrak-ghidra 0
guaiwolo/seata-server 0
levygat2b/seatable-components a repo for the seatable image separated into… 0
hellowoodes/seata Seata Server for Alibaba Seata 0
ssgssg/seata seata 0
wjq1028cs2/seata-server fix a bug from seataio/seata-server 0
seatable/restic-backup Restic Backup Docker Container (for SeaTable… 0
seatable/routing-poc Part of a Proof of Concept https://github.co… 0
seatable/dtable-server-proxy 0
lovechen/seatable-developer Beyond Spreadsheet – official Docker image f… 0
fancyfong/seata 1
shuogesha/seata1.1.0 seata1.1.0 0
infinivision/seata 0
seatabay/ubuntu-nodejs 0
[root@WFWCS ~]# docker pull seataio/seata-server
2:启动seata-server实例(注意需要设置SEATA_IP)
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:
[root@WFWCS ~]# docker run -itd --name seata-server -e SEATA_PORT=8091 -e SEATA_IP=192.168.11.50 -p 8091:8091 -p 7091:7091 seataio/seata-server:latest
c81cde8f63e120f48cdbee7ec4329adfd01f42f14caa5289d1997a2974c0b775
[root@WFWCS ~]#
2-1:指定seata-server IP和端口 启动
[root@WFWCS ~]# docker run -itd --name seata-server -p 8091:8091 -p 7091:7091 seataio/seata-server:latest
c81cde8f63e120f48cdbee7ec4329adfd01f42f14caa5289d1997a2974c0b775
[root@WFWCS ~]#
2-2:Docker compose 启动(docker-compose.yaml 示例)
version: "3"
services:
seata-server:
image: seataio/seata-server:latest
hostname: seata-server
ports:
- "8091:8091"
- "7091:7091"
environment:
- SEATA_PORT=8091
- STORE_MODE=file
3:192.168.16.35:7091这个是seata登录页,账号:seata 密码:seata
4:复制容器seata的配置文件出来
[root@WFWCS ~]# docker cp seata-server:/seata-server/resources /opt/docker/seata/
Successfully copied 126kB to /opt/docker/seata/
[root@WFWCS ~]#
5:可以修改复制出来的resource文件下的application.yml,可以修改端口,修改登录账号密码
6:删除seata容器,重新挂载启动,既可使用配置生效
[root@WFWCS ~]# docker run -itd --name seata-server -v /opt/docker/seata/resources :/seata-server/resources -e SEATA_PORT=8091 -e SEATA_IP=192.168.11.50 -p 8091:8091 -p 7091:7091 seataio/seata-server:latest
c81cde8f63e120f48cdbee7ec4329adfd01f42f14caa5289d1997a2974c0b775
[root@WFWCS ~]#
7:端口7091是seata页面登录管理端口,8091是客户端连接端口
8:无注册中心,file存储,该模式下,不需要注册中心,也不需要任何第三方存储中心,docker-compose.yaml
version: "3.1"
services:
seata-server:
image: seataio/seata-server:${
latest-release-version}
hostname: seata-server
ports:
- "7091:7091"
- "8091:8091"
environment:
- SEATA_PORT=8091
- STORE_MODE=file
9:无注册中心,DB存储,db模式需要在数据库创建对应的表结构,建表脚本
9-1:创建服务端数据库
-- -------------------------------- The script used when storeMode is 'db' --------------------------------
-- the table to store GlobalSession data
CREATE TABLE IF NOT EXISTS `global_table`
(
`xid` VARCHAR(128) NOT NULL,
`transaction_id` BIGINT,
`status` TINYINT NOT NULL,
`application_id` VARCHAR(32),
`transaction_service_group` VARCHAR(32),
`transaction_name` VARCHAR(128),
`timeout` INT,
`begin_time` BIGINT,
`application_data` VARCHAR(2000),
`gmt_create` DATETIME,
`gmt_modified` DATETIME,
PRIMARY KEY (`xid`),
KEY `idx_status_gmt_modified` (`status` , `gmt_modified`),
KEY `idx_transaction_id` (`transaction_id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4;
-- the table to store BranchSession data
CREATE TABLE IF NOT EXISTS `branch_table`
(
`branch_id` BIGINT NOT NULL,
`xid` VARCHAR(128) NOT NULL,
`transaction_id` BIGINT,
`resource_group_id` VARCHAR(32),
`resource_id` VARCHAR(256),
`branch_type` VARCHAR