【Docker重启失败,重新部署seata】

docker启动重启失败,Remove /var/lib/docker,rm -rf /var/lib/docker,删除docker镜像,重新部署seata1.5.1和gitlab-runner.

seata使用docker部署官方文档

启动一个实例

docker run --name seata-server -p 8091:8091 -p 7091:7091 seataio/seata-server:1.5.1

使用docker cp命令,将容器中的配置文件拷贝出来

docker cp seata-server:/seata-server/resources /seata

修改application.yml
把修改好的配置文件拷贝回seata容器

docker cp /docker/data/seata/seata-server/resources/application.yml seata-server:/seata-server/resources

重启seata-server容器

docker restart seata-server

或者直接挂载文件到容器中启动 带上指定ip-port启动seata-server实例,可直接run

docker run -d --restart always --name seata-server -p 8091:8091 -p 7091:7091 -v /seata/resources:/seata-server/resources -e SEATA_IP=[宿主机公网ip] -e SEATA_PORT=8091  seataio/seata-server:1.5.1

-e 用于配置环境变量, -v 用于挂载宿主机的目录,如果是以file存储模式运行,请加上-v /User/seata/sessionStore :/seata-server/sessionStore 将file的数据文件映射到宿主机,以防数据丢失(注:/User/seata/config和/User/seata/sessionStore可自定义宿主机目录,无需照搬)

环境变量 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:

(服务端)挂载文件application.yml部分配置

server:
  port: 7091
  vgroupMapping:
    default-tx-group: test-seata-server
  disableGlobalTransaction: false
seata:
  config:
    # support: nacos, consul, apollo, zk, etcd3
    type: nacos
    nacos:
      server-addr: [nacos IP:PORT]
      group: DEFAULT
      namespace: dev
      dataId: seata-server.yaml
      cluster: default
  registry:
    # support: nacos, eureka, redis, zk, consul, etcd3, sofa
    type: Nacos
    nacos:
      application: seata-server
      server-addr: [nacos IP:PORT]
      group: DEFAULT
      namespace: dev
      cluster: default
      username: nacos
      password: nacos

业务服务(客户端)部分配置

seata:
  # 客户端和服务端在同一个事务组
  tx-service-group: test-seata-server
  enabled: true
  application-id: web
  # 自动数据源代理
  enable-auto-data-source-proxy: false
  # 数据源代理模式(分布式事务方案)
  data-source-proxy-mode: AT
  # 事务群组,配置项值为TC集群名,需要与服务端保持一致
  service:
    vgroup-mapping:
      test-seata-server: default
    disable-global-transaction: false
    grouplist:
      default: 7091
  #整合nacos配置中心
  config:
    type: nacos
    nacos:
      server-addr: [nacos IP:PORT]
      group: DEFAULT
      namespace: dev
      data-id: seata-server.yaml
  #整合nacos注册中心
  registry:
    type: Nacos
    nacos:
      server-addr: [nacos IP:PORT]
      group: DEFAULT
      namespace: dev
      # 默认TC集群名
      cluster: default
      # 服务名,与服务端中registry.conf配置要一致
      application: seata-server

踩坑:客户端registry:type与服务端type未对上。
同时,需要在Nacos上,增加Data Id为service.vgroupMapping.dianyun-seata-server,Group和客户端服务一致的配置文件,内容为default。此配置采用db store mode .
nacos配置内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值