原创

docker启动单机nacos

温馨提示:
本文最后更新于 2025年09月11日,已超过 274 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

在 Docker 中配置 Nacos 并连接 MySQL 数据库,可以确保 Nacos 的数据持久化。以下是详细步骤:

拉取 Nacos 镜像

首先,拉取最新版本的 Nacos 镜像:

docker pull nacos/nacos-server

创建并挂载目录

在宿主机上创建两个目录用于日志和配置文件映射:

mkdir -p /mydata/nacos/logs/

mkdir -p /mydata/nacos/conf/

临时启动并复制文件

启动一个临时的 Nacos 容器以便从容器内复制配置文件至宿主机:

docker run -d --name nacos-temp -p 8848:8848 nacos/nacos-server

docker cp nacos-temp:/home/nacos/logs/ /mydata/nacos/

docker cp nacos-temp:/home/nacos/conf/ /mydata/nacos/

docker rm -f nacos-temp

在 MySQL 中创建 Nacos 所需表结构

在 MySQL 中新建数据库 nacos-config,然后从 Nacos GitHub 仓库中找到并执行创建表结构的 SQL 脚本。

正式启动 Nacos 并设置环境变量

以下命令用于启动一个带有持久化配置且连接了 MySQL 数据库的 Nacos 容器:

docker run -d \

--name nacos \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--privileged=true \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e DB_NUM=1 \
-e DB_URL_0=jdbc:mysql://localhost:3306/nacos-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC \
-e DB_USER=root \
-e DB_PASSWORD=root \
-v /mydata/nacos/logs/:/home/nacos/logs \
-v /mydata/nacos/conf/:/home/nacos/conf \
--restart=always \
nacos/nacos-server

配置文件修改

编辑宿主机上的 Nacos 配置文件以指向你的 MySQL 实例:

vim /mydata/nacos/conf/application.properties

更新如下配置项:

spring.datasource.platform=mysql

db.num=1

db.url.0=jdbc:mysql://localhost:3306/nacos-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=30000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC

db.user=root

db.password=root

访问 Nacos 控制台

完成上述步骤后,可以通过浏览器访问 Nacos 控制台:

http://<ip>:8848/nacos/index.html

正文到此结束