使用 docker-compose 部署 Seata Server
历史版本部署
注意事项
- 避免直接拉取latest版本镜像,latest版本并不一定是稳定版本,为避免不必要的问题,请到docker镜像仓库确定要拉取的镜像版本。
快速开始
无注册中心,file存储
该模式下,不需要注册中心,也不需要任何第三方存储中心。
docker-compose.yaml
version: "3.1"
services:
seata-server:
image: seataio/seata-server:${latest-release-version}
hostname: seata-server
ports:
- "8091:8091"
environment:
- SEATA_PORT=8091
- STORE_MODE=file
无注册中心,DB存储
db模式需要在数据库创建对应的表结构,[建表脚本]。
(1)准备file.conf配置文件
更多存储模式支持可参考更多存储模式
# 存储模式
store.mode=db
store.db.datasource=druid
store.db.dbType=mysql
# 需要根据mysql的版本调整driverClassName
# mysql8及以上版本对应的driver:com.mysql.cj.jdbc.Driver
# mysql8以下版本的driver:com.mysql.jdbc.Driver
store.db.driverClassName=com.mysql.cj.jdbc.Driver
# 注意根据生产实际情况调整参数host和port
store.db.url=jdbc:mysql://127.0.0.1:3306/seata-server?useUnicode=true&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false
# 数据库用户名
store.db.user=
# 用户名密码
store.db.password=
(2)准备registry.conf文件
更多注册中心支持可参考注册中心
更多配置中心支持可参考配置中心
直连模式(无注册中心)
registry {
type = "file"
}
config {
type = "file"
file {
name="file:/root/seata-config/file.conf"
}
}
(3)准备docker-compose.yaml文件
version: "3.1"
services:
seata-server:
image: seataio/seata-server:${latest-release-version}
hostname: seata-server
ports:
- "8091:8091"
environment:
- SEATA_PORT=8091
- SEATA_CONFIG_NAME=file:/root/seata-config/registry
volumes:
# 需要把file.conf和registry.conf都放到./seata-server/config文件夹中
- "./seata-server/config:/root/seata-config"