seata(6):nacos
seata除了使用文件作为默认的配置中心和服务发现外,还可以使用nacos,我们学习下如何配置:首先启动mysql、nacos、seata,然后copy默认配置进行修改
# docker run -d --name nacos -p 8848:8848 -e MODE=standalone -e MYSQL_MASTER_SERVICE_HOST=你的mysql所在ip -e MYSQL_MASTER_SERVICE_DB_NAME=nacos -e MYSQL_MASTER_SERVICE_USER=root -e MYSQL_MASTER_SERVICE_PASSWORD=mysql密码 -e MYSQL_SLAVE_SERVICE_HOST=你的mysql所在ip -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_DATABASE_NUM=1 nacos/nacos-server:latest
<br>
# docker run -d --name seata -p 8091:8091 -e SEATA_IP=你想指定的ip -e SEATA_PORT=8091 seataio/seata-server:1.4.2
<br>
<br>
version: "3.1"
services:
mysql:
image: mysql:5.7
container_name: mysql
environment:
- MYSQL_ROOT_PASSWORD=123456
command: --default-authentication-plugin=mysql_native_password --default-time-zone='+08:00'
volumes:
- ./mysql:/docker-entrypoint-initdb.d
- ./mysql/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf
ports:
- "3306:3306"
extra_hosts:
- host.docker.internal:host-gateway
<br>
seata-server:
image: seataio/seata-server:1.5.2
ports:
- "7091:7091"
- "8091:8091"
environment:
- STORE_MODE=db
# 以SEATA_IP作为host注册seata server
# - SEATA_IP=host.docker.internal
# - SEATA_PORT=8091
volumes:
# - "/usr/share/zoneinfo/Asia/Shanghai:/etc/localtime" #设置系统时区
# - "/usr/share/zoneinfo/Asia/Shanghai:/etc/timezone" #设置时区
# 假设我们通过docker cp命令把资源文件拷贝到相对路径`./seata-server/resources`中
# 如有问题,请阅读上面的[注意事项]以及[使用自定义配置文件]
- /Users/xiazemin//resources:/seata-server/resources
- /Users/xiazemin/logs:/root/logs/seata/
depends_on:
- mysql
- nacos
extra_hosts:
- host.docker.internal:host-gateway
nacos:
image: nacos/nacos-server:2.0.2
ports:
- "8848:8848"
environment:
- MODE=standalone
- MYSQL_MASTER_SERVICE_HOST=host.docker.internal
- MYSQL_MASTER_SERVICE_DB_NAME=nacos
- MYSQL_SERVICE_HOST=host.docker.internal
- MYSQL_SERVICE_DB_NAME=nacos
- MYSQL_SERVICE_USER=root
- MYSQL_SERVICE_PASSWORD=123456
- MYSQL_MASTER_SERVICE_USER=root
- MYSQL_MASTER_SERVICE_PASSWORD=123456
- MYSQL_SLAVE_SERVICE_HOST=host.docker.internal
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_DATABASE_NUM=1
- NACOS_AUTH_SYSTEM_TYPE=nacos
volumes:
- /Users/xiazemin/nacos/conf:/home/nacos/conf
- /Users/xiazemin/nacos/data:/home/nacos/data
depends_on:
- mysql
extra_hosts:
- host.docker.internal:host-gateway