seata安装【使用Docker安装seata】

1、新建seata数据库

2、seata数据库表脚本

Docker官网查看seata镜像版本

3、拉取镜像:

docker pull seataio/seata-server:1.4.1

4、启动临时容器

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

5、从临时容器获取到 registry.conf 配置文件复制到seata目录

mkdir /seata
docker cp seata:/seata-server/resources/registry.conf  /seata

6、在nacos控制台-新建命名空间“seata_namespace_id”

7、修改registry.conf配置文件,类型选择nacos,namesapce是在nacos控制台新建的命名空间id即seata_namespace_id: 

 8、保存好后,删除临时seata容器

docker rm -f seata

9、推送Seata依赖配置至Nacos

从Seata的GitHub官方源码获取配置文件(config.txt与nacos文件夹下面的四个文件)

 10、然后推送到服务器上

nacos文件夹下的四个文件:

 11、修改config.txt文件【修改事务组与mysql连接信息】:

 进入/seata/nacos目录,执行nacos-config.sh文件【推送命令】

bash nacos-config.sh -h 127.0.0.1 -p 8848 -g SEATA_GROUP -t seata_namespace_id -u nacos -w nacos

参数说明:

  • -t seata_namespace_id 指定Nacos配置命名空间ID
  • -g SEATA_GROUP 指定Nacos配置组名称

-h: 注册到注册中心的ip

-p: Server rpc 监听端口

-m: 全局事务会话信息存储模式,filedbredis,优先读取启动参数 (Seata-Server 1.3及以上版本支持redis)

-n: Server node,多个Server时,需区分各自节点,用于生成不同区间的transactionId,以免冲突

-e: 多环境配置参考

记得将127.0.0.1修改成服务器ip

 推送完毕,可到Nacos控制到-配置列表中看到配置是否已添加成功:

 做完上述准备工作之后,接下来最后一步:启动Seata容器

docker run -d --name seata-server --restart=always -p 8091:8091 -e SEATA_IP=127.0.0.1 -v /seata/registry.conf:/seata-server/resources/registry.conf -v /seata/logs:/root/logs seataio/seata-server:1.4.1

 #记得修改服务器ip地址

可以在服务管理看到这个服务:

 

Seata 是一款分布式事务解决方案,它能够支持多种数据库如 MySQL、Oracle、PostgreSQL 等。结合 Docker 来启动 Seata 可以让部署过程变得简单高效,下面是一些步骤来指导你如何在 Docker安装并运行 Seata: ### 安装 Docker 首先确保你已经安装Docker 并配置好环境。你可以从官方网站获取最新版 Docker安装教程 (https://docs.docker.com/engine/install/)。 ### 安装 Seata #### 1. Pull Seata's Docker Image 使用 Docker Hub 上的官方镜像进行安装。 ```bash docker pull seataio/seata-server:latest ``` 上述命令拉取最新的 Seata 服务端镜像。 #### 2. 创建并运行 Docker Container 为了简化部署流程,可以创建一个包含 Seata 服务端、TC (Transaction Coordinator) 和 SQL Server (用于存储全局事务日志)的多容器场景。这里以只启动 Seata 服务端为例: ```bash # 运行 Seata 服务端 docker run -d \ -p 8091:8091 \ -e SEATA_HOME=/data/seata-server \ -v $(pwd)/config:/data/seata-server \ -seata.io/seata/server:latest # 上述命令解释: # `-d` 表示后台运行; # `-p` 映射宿主机端口至容器端口; # `-e SEATA_HOME` 设置容器内的 Seata 配置目录路径; # `/v $(pwd)/config:` 将当前目录下的 config 文件夹挂载到容器内的 `/data/seata-server` 目录下; # `seata.io/seata/server:latest` 是镜像名称和版本。 ``` ### 配置和运行 #### 配置 在启动 Seata 之前,需要确保配置文件正确无误。将配置文件复制到容器中,并根据实际需求调整配置内容。例如,在 `/data/seata-server` 目录下修改配置文件,使其满足项目的需求。 #### 启动客户端 在使用 Seata 的应用中,也需要配置相应的服务注册中心和配置中心,并引入 Seata 的客户端库。具体步骤包括但不限于: 1. **添加依赖**:在你的项目中添加 Seata 的客户端依赖。 2. **配置服务注册中心**:在应用启动时配置服务注册中心的信息,如 Nacos、Eureka 等。 3. **配置配置中心**:同样需要配置配置中心的信息,用于加载应用配置。 4. **启动应用**:确保应用中启用了 Seata 支持,应用启动时自动注册到服务注册中心,并从配置中心加载配置。 ### 注意事项 - 确保 Docker 容器有足够的权限访问配置文件和其他必要的资源。 - 对于生产环境,推荐使用更完善的启动脚本和持续集成/持续部署 (CI/CD) 流程来自动化部署过程。 - 性能测试和稳定性评估是部署前必做的步骤之一。 ### 相关问题: 1. 是否可以自定义 Seata 镜像以适应特定的应用需求? 2. Seata 能否与其他云平台或容器编排系统(如 Kubernetes)无缝集成? 3. 如何管理多个 Seata 服务节点以提升系统的可用性和性能? 通过上述步骤,你应该能够在 Docker 中成功启动 Seata 服务,并准备好了使用分布式事务功能的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值