源本科技 | 码上会

分布式事务 Seata 部署

2026/05/20
2
0

拉取镜像

避免直接拉取 latest 版本镜像,latest 版本并不一定是稳定版本,为避免不必要的问题,请确定要拉取的镜像版本

# 使用具备内置控制台的版本
docker pull apache/seata-server:2.3.0.jdk17

注意:

  • Seata Server 1.5.0 版本开始,配置文件改为 application.yml,如需使用自定义配置,需要先把原生配置拷贝出来

  • Seata Server 2.4.0 版本开始不再支持内置控制台

启动脚本

  • 为了获取配置文件,我们需要先启动一个 seata server 的服务,然后再从启动的容器实例中把默认的配置复制出来

services:
  seata-server:
    image: apache/seata-server:2.3.0.jdk17
    container_name: seata-server
    ports:
      - "8091:8091"
      - "7091:7091"
    environment:
      - SEATA_PORT=8091
      - STORE_MODE=file
  • 接下来通过 docker cp 命令把容器中 /seata-server/resources 位置的资源文件拷贝到宿主机指定位置

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

修改脚本

  • 修改启动脚本,再重启容器,如果有需要自定义配置就可以通过修改 resources 目录下的配置

services:
  seata-server:
    image: apache/seata-server:2.3.0.jdk17
    container_name: seata-server
    ports:
      - "8091:8091"
      - "7091:7091"
    environment:
      - SEATA_PORT=8091
      - STORE_MODE=file
    volumes:
      - "/usr/share/zoneinfo/Asia/Shanghai:/etc/localtime"
      - "/usr/share/zoneinfo/Asia/Shanghai:/etc/timezone"
      - ./resources:/seata-server/resources

验证启动

  • 默认账号密码:seata/seata

  • 登录成功后可以修改为中文显示