docker启动重启失败,Remove /var/lib/docker,rm -rf /var/lib/docker
,删除docker镜像,重新部署seata1.5.1和gitlab-runner.
启动一个实例
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及以上版本支持), 默认是 fileSERVER_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 .