【软件部署】docker部署nacos server3.2.0单实例对接MySQL场景
·
需求
使用docker部署nacos server3.2.0,对接MySQL8.4.8
注意:此方法仅适用于nacos3.2.0,其他版本需单独测试。nacos部署当前无通用方法。
nacos没有标准的健康检查方法。部分健康检查方法偶发使nacos出现内存爆满的故障。
记录
准备一个专用目录,例如/opt/nacos
创建nacos.env
PREFER_HOST_MODE=hostname
MODE=standalone
SPRING_DATASOURCE_PLATFORM=mysql
MYSQL_SERVICE_HOST=mysql-nacos
MYSQL_SERVICE_DB_NAME=nacos
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=nacos
MYSQL_SERVICE_PASSWORD=nacos
MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
NACOS_AUTH_IDENTITY_KEY=NACOS_INNER_AUTH_KEY_8F2s7K
NACOS_AUTH_IDENTITY_VALUE=9xP3sK8f2Dg5zQ1mB7nV4cS6eR9tY2uI7oP5aS1dF0gH6jK
NACOS_AUTH_TOKEN=NmE5czJRNnZYUXE4QlZONW1EY0cyaEo1THFUNnZVOHdFMnlBNjhHRTk5S2pGcw==
创建mysql.env
MYSQL_ROOT_PASSWORD=root123456
MYSQL_DATABASE=nacos
MYSQL_USER=nacos
MYSQL_PASSWORD=nacos
LANG=C.UTF-8
创建compose.yaml
# 仅用于3.2.0版本。其他版本必须重新测试。
volumes:
nacos-logs:
name: nacos-logs
mysql-nacos-data:
name: mysql-nacos-data
services:
nacos:
image: nacos/nacos-server:v3.2.0
container_name: nacos-standalone-mysql
env_file:
- ./nacos.env
volumes:
- nacos-logs:/home/nacos/logs
ports:
- "8080:8080"
- "8848:8848"
- "9848:9848"
depends_on:
mysql:
condition: service_healthy
restart: always
mysql:
container_name: mysql-nacos
image: mysql:8.4.8
env_file:
- ./mysql.env
volumes:
- mysql-nacos-data:/var/lib/mysql
# mysql-schema.sql来自https://nacos.io/download/nacos-server稳定版软件包中config目录
- ./mysql-schema.sql:/docker-entrypoint-initdb.d/mysql-schema.sql
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
ports:
- "3306:3306"
healthcheck:
test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
interval: 5s
timeout: 10s
retries: 10
下载mysql-schema.sql
浏览器访问https://nacos.io/download/nacos-server/,下载3.2.0压缩包https://download.nacos.io/nacos-server/nacos-server-3.2.0.zip?spm=5238cd80.6a33be36.0.0.10651e5dfazMcx&file=nacos-server-3.2.0.zip
解压,在conf目录找到mysql-schema.sql,复制到/opt/nacos。
部署
docker compose up -d
浏览器访问主机IP:8080 ,下图所示,初次访问必须输入密码,若不输入密码,会出现无法登录的问题。当前版本存在不输入密码无法获取随机密码进行登录的问题。
登录后可见以下内容,
更多推荐

所有评论(0)