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

Nacos2.1.0与Seata1.5.2版本基于Docker部署指南

1、使用 docker-compose 部署 Nacos Server


version: "3"
services:
  mysql:
    image: mysql:5.7
    container_name: mysql-5.7
    restart: always
    privileged: true
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --max_connections=2000 --max_allowed_packet=64M
    environment:
      - TZ=Asia/Shanghai
      - MYSQL_ROOT_PASSWORD=123456
    volumes:
      - mysql-5.7-data:/var/lib/mysql:rw
    ports:
      - "3306:3306"
  nacos:
    image: nacos/nacos-server:v2.1.0
    container_name: nacos
    restart: always
    depends_on:
      - mysql
    environment:
      - PREFER_HOST_MODE=hostname
      - TZ=Asia/Shanghai
      - MODE=standalone
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_SERVICE_HOST=mysql
      - MYSQL_SERVICE_PORT=3306
      - MYSQL_SERVICE_USER=root
      - MYSQL_SERVICE_PASSWORD=123456
      - MYSQL_SERVICE_DB_NAME=nacos
      - MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=10000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTimezone=UTC
      - JVM_XMS=128m
      - JVM_XMX=128m
      - JVM_XMN=128m
      - JVM_MS=64m
      - JVM_MMS=256m
    ports:
      - "8848:8848"
      - "9848:9848"
      - "9849:9849"
volumes:
  mysql-5.7-data: {}

2、使用 docker-compose 部署 Seata Server

本案例使用nacos注册中心,db存储进行部署,db模式需要在数据库创建对应的表结构,数据库脚本从seata的github中获取。


version: "3"
services:
  seata-server:
    image: seataio/seata-server:1.5.2
    hostname: seata-server
    container_name: seata-server
    restart: always
    ports:
      - "8091:8091"
      - "7091:7091"
    environment:
      - SEATA_PORT=8091
      - SEATA_CONFIG_NAME=file:/root/seata-config/registry
    volumes:
      - /data/seata/config:/root/seata-config
      - /data/seata/logs:/root/logs
      - seata-server-1.5.2-data:/seata-server/resources:rw

volumes:
  seata-server-1.5.2-data: { }

Seata server启动成功后,替换application.yml文件后再进行重启,内容如下所示:

server:
  port: 7091

spring:
  application:
    name: seata-server

logging:
  config: classpath:logback-spring.xml
  file:
    path: ${user.home}/logs/seata
  extend:
    logstash-appender:
      destination: 127.0.0.1:4560
    kafka-appender:
      bootstrap-servers: 127.0.0.1:9092
      topic: logback_to_logstash

console:
  user:
    username: seata
    password: seata

seata:
  config:
    # support: nacos, consul, apollo, zk, etcd3
    type: nacos
    nacos:
      server-addr: nacos:8848
      namespace: abec0c92-a3eb-4baf-9b24-4fff0c3cf6bb
      group: SEATA_GROUP
      username: nacos
      password: nacos
      data-id: seataServer.properties

  registry:
    # support: nacos, eureka, redis, zk, consul, etcd3, sofa
    type: nacos
    nacos:
      application: seata-server
      server-addr: nacos:8848
      group: SEATA_GROUP
      namespace: abec0c92-a3eb-4baf-9b24-4fff0c3cf6bb
      cluster: default
      username: nacos
      password: nacos


  store:
    # support: file 、 db 、 redis
    mode: file
  #  server:
  #    service-port: 8091 #If not configured, the default is '${server.port} + 1000'
  security:
    secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017
    tokenValidityInMilliseconds: 1800000
    ignore:
      urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/api/v1/auth/login


结语

如果这篇文章对您有所帮助,或者有所启发的话,求一键三连:点赞、评论、收藏➕关注,您的支持是我坚持写作最大的动力。

相关文章:

  • java基于ssm+jsp的教学视频学习网站
  • 软件开发通识之二:如何从零开始学编程
  • c++ || 二分查找
  • AOP切面实现增删改防止重放攻击
  • oracle数据库 表中有数据,通过plsql 工具 连接 查询全表,却查不到数据
  • 第14章Linux实操篇-RPM与YUM
  • 小程序 input type=‘number‘ 不能输入小数点??
  • 高质量的子程序
  • 软件测试时Java面试题
  • 业务提前初始化执行
  • 区块链——Hyperledger Fabric2.2单点搭建网络
  • 从零开发一款图片编辑器Mitu-Dooring
  • 2022-08-30 第六小组 瞒春 学习笔记
  • 记录k8s-Calico网络插件报错问题
  • 北大肖臻老师《区块链技术与应用》系列课程学习笔记[25]以太坊-智能合约-5
  • gitlab-ci配置详解(一)
  • Javascript Math对象和Date对象常用方法详解
  • Java教程_软件开发基础
  • js面向对象
  • laravel with 查询列表限制条数
  • PV统计优化设计
  • vue2.0项目引入element-ui
  • 技术:超级实用的电脑小技巧
  • 那些年我们用过的显示性能指标
  • 前端面试之闭包
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 世界上最简单的无等待算法(getAndIncrement)
  • 双管齐下,VMware的容器新战略
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 阿里云ACE认证学习知识点梳理
  • 阿里云重庆大学大数据训练营落地分享
  • 容器镜像
  • # centos7下FFmpeg环境部署记录
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #1015 : KMP算法
  • $.ajax中的eval及dataType
  • (1)Android开发优化---------UI优化
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (蓝桥杯每日一题)love
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (新)网络工程师考点串讲与真题详解
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .Net多线程总结
  • .NET框架设计—常被忽视的C#设计技巧
  • .NET上SQLite的连接
  • @Conditional注解详解
  • @EnableAsync和@Async开始异步任务支持
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @test注解_Spring 自定义注解你了解过吗?
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [ANT] 项目中应用ANT
  • [C++数据结构](31)哈夫曼树,哈夫曼编码与解码