需求

使用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 ,下图所示,初次访问必须输入密码,若不输入密码,会出现无法登录的问题。当前版本存在不输入密码无法获取随机密码进行登录的问题。
在这里插入图片描述
登录后可见以下内容,
在这里插入图片描述

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐