当前位置: 首页 > news >正文

docker部署seata

seata版本:2.0.0
使用eureka作为注册中心,mysql作为存储

拉取镜像

docker pull seataio/seata-server:2.0.0

mysql建表语句

可从 github下载sql脚本

-- seata_server.branch_table definition
CREATE TABLE `branch_table` (`branch_id` bigint NOT NULL,`xid` varchar(128) NOT NULL,`transaction_id` bigint DEFAULT NULL,`resource_group_id` varchar(32) DEFAULT NULL,`resource_id` varchar(256) DEFAULT NULL,`branch_type` varchar(8) DEFAULT NULL,`status` tinyint DEFAULT NULL,`client_id` varchar(64) DEFAULT NULL,`application_data` varchar(2000) DEFAULT NULL,`gmt_create` datetime(6) DEFAULT NULL,`gmt_modified` datetime(6) DEFAULT NULL,PRIMARY KEY (`branch_id`),KEY `idx_xid` (`xid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;-- seata_server.distributed_lock definition
CREATE TABLE `distributed_lock` (`lock_key` char(20) NOT NULL,`lock_value` varchar(20) NOT NULL,`expire` bigint DEFAULT NULL,PRIMARY KEY (`lock_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES('AsyncCommitting', ' ', 0);
INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES('RetryCommitting', ' ', 0);
INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES('RetryRollbacking', ' ', 0);
INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES('TxTimeoutCheck', ' ', 0);-- seata_server.global_table definition
CREATE TABLE `global_table` (`xid` varchar(128) NOT NULL,`transaction_id` bigint DEFAULT NULL,`status` tinyint NOT NULL,`application_id` varchar(32) DEFAULT NULL,`transaction_service_group` varchar(32) DEFAULT NULL,`transaction_name` varchar(128) DEFAULT NULL,`timeout` int DEFAULT NULL,`begin_time` bigint DEFAULT NULL,`application_data` varchar(2000) DEFAULT NULL,`gmt_create` datetime DEFAULT NULL,`gmt_modified` datetime DEFAULT NULL,PRIMARY KEY (`xid`),KEY `idx_status_gmt_modified` (`status`,`gmt_modified`),KEY `idx_transaction_id` (`transaction_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;-- seata_server.lock_table definition
CREATE TABLE `lock_table` (`row_key` varchar(128) NOT NULL,`xid` varchar(128) DEFAULT NULL,`transaction_id` bigint DEFAULT NULL,`branch_id` bigint NOT NULL,`resource_id` varchar(256) DEFAULT NULL,`table_name` varchar(32) DEFAULT NULL,`pk` varchar(36) DEFAULT NULL,`status` tinyint NOT NULL DEFAULT '0' COMMENT '0:locked ,1:rollbacking',`gmt_create` datetime DEFAULT NULL,`gmt_modified` datetime DEFAULT NULL,PRIMARY KEY (`row_key`),KEY `idx_status` (`status`),KEY `idx_branch_id` (`branch_id`),KEY `idx_xid` (`xid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

创建本地配置文件

创建目录

mkdir -p /opt/seata-server/resources

创建 application.yml

touch application.yml

文件内容

#  Copyright 1999-2019 Seata.io Group.
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#  http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.server:# port: 7091 the default is 7091port: 9008spring:application:name: seata-serverlogging:config: classpath:logback-spring.xmlfile:path: ${log.home:${user.home}/logs/seata}extend:logstash-appender:destination: 127.0.0.1:4560kafka-appender:bootstrap-servers: 127.0.0.1:9092topic: logback_to_logstashconsole:user:username: seatapassword: seata
seata:config:# support: nacos, consul, apollo, zk, etcd3type: fileregistry:# support: nacos, eureka, redis, zk, consul, etcd3, sofatype: eurekaeureka:service-url: http://eureka-server:eureka-server@10.0.1.129:9007/eureka/application: ${spring.application.name}weight: 1store:# support: file 、 db 、 redis 、 raftmode: dbdb:datasource: druiddb-type: mysqldriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://10.0.1.129:9000/seata_server?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghaiuser: rootpassword: zhw1996221min-conn: 10max-conn: 100global-table: global_tablebranch-table: branch_tablelock-table: lock_tabledistributed-lock-table: distributed_lockquery-limit: 1000max-wait: 5000#  server:#    service-port: 8091 #If not configured, the default is '${server.port} + 1000'server:service-port: 9009security:secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017tokenValidityInMilliseconds: 1800000ignore:urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.jpeg,/**/*.ico,/api/v1/auth/login,/metadata/v1/**

运行容器

docker run -d --restart always\--name seata-server \-p 9008:9008 \-p 9009:9009 \-v /opt/seata-server/resources/application.yml:/seata-server/resources/application.yml \-e SEATA_IP=10.0.1.129 \          # Seata 服务对外 IP(需能被客户端访问)-e SEATA_PORT=9009 \                  # Seata 服务端口seataio/seata-server:2.0.0

部署成功

1.eureka
在这里插入图片描述
2.访问网页 http://10.0.1.129:9008/#/login
在这里插入图片描述
在这里插入图片描述

相关文章:

  • Github中项目的公开漏洞合集
  • 2025年二级造价工程师备考要点分析
  • 从零开始了解数采(十七)——工业数据清洗
  • Mysql卸载
  • 亿固集团携手广东省民宿协会共启绿色民宿人居新范式
  • K-Means聚类算法
  • 【IC验证】systemverilog_并行线程(块)
  • 《Android 应用开发基础教程》——第四章:Intent 与 Activity 跳转、页面传值
  • 退役淘汰的硬盘数据安全处置不可忽视-硬盘数据抹除清零
  • 【机器学习-线性回归-1】深入理解线性回归:机器学习中的经典算法
  • SQL_连续登陆问题
  • 【前端Skill】点击目标元素定位跳转IDE中的源代码
  • LLM大模型中的基础数学工具—— 约束优化
  • 一个很简单的机器学习任务
  • 技术视界 | 开源新视野: 人形机器人技术崛起,开源社区驱动创新
  • 消息队列知识点详解
  • 基于RK3588+FPGA+AI YOLO的无人船目标检测系统(一)概述
  • 每天五分钟机器学习:凸优化
  • SBTI科学碳目标认证有什么要求?SBTI认证的好处?
  • MES系统中标签模板设计框架与实现思路
  • 北汽蓝谷一季度净亏损9.5亿元,拟定增募资不超60亿元
  • 大理杨徐邱再审上诉案宣判:驳回上诉,维持再审一审判决
  • 央行副行长:研究建立民营中小企业增信制度,破解民营中小企业信用不足等融资制约
  • 美大学建“私人联盟”对抗政府:学校已存在300年,特朗普才上任3个月
  • 新任海南琼海市委副书记陈明已主持市政府党组全面工作
  • 下任美联储主席热门人选沃什:美联储犯下“系统性错误”,未能控制一代人以来最严重的通胀