docker 部署nacos3.0.0
时间: 2025-07-12 12:25:17 浏览: 13
### 使用 Docker 部署 Nacos 3.0.0 版本
#### 单机模式部署
为了使用 Docker 部署 Nacos 3.0.0 的单机版本,可以按照以下方法操作:
1. **拉取最新版镜像**
确保本地拥有最新的 Nacos 官方镜像。执行命令以获取指定版本的镜像:
```bash
docker pull nacos/nacos-server:3.0.0
```
2. **启动容器**
启动一个简单的 Nacos 容器,默认情况下将以单机模式运行:
```bash
docker run --name nacos-single \
-p 8848:8848 \
--env MODE=standalone \
-d nacos/nacos-server:3.0.0
```
上述命令中设置了 `MODE=standalone` 参数来启用单机模式[^1]。
3. **持久化数据存储**
如果希望避免因容器删除而导致的数据丢失,可以通过挂载主机目录到容器内的 `/home/nacos/data` 和 `/home/nacos/logs` 来实现持久化:
```bash
docker run --name nacos-single \
-v /root/docker/cloud/nacos/data:/home/nacos/data \
-v /root/docker/cloud/nacos/logs:/home/nacos/logs \
-p 8848:8848 \
--env MODE=standalone \
-d nacos/nacos-server:3.0.0
```
---
#### MySQL 数据库存储支持
如果需要将 Nacos 的元数据存储至外部 MySQL 数据库,则需完成以下步骤:
1. **准备 MySQL 数据库**
创建名为 `nacos_config` 或其他自定义名称的数据库,并导入官方提供的 SQL 脚本初始化表结构。SQL 文件路径通常位于 Nacos 源码包下的 `conf/tables.sql` 中[^2]。
2. **修改配置文件**
进入已启动的 Nacos 容器,编辑其配置文件 `application.properties` 并设置 MySQL 相关参数:
```properties
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://<MYSQL_HOST>:3306/<DB_NAME>?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&serverTimezone=UTC&useSSL=false
db.user=<USERNAME>
db.password=<PASSWORD>
```
3. **重新启动容器**
停止当前正在运行的容器并移除它,随后再次启动新容器时传递环境变量:
```bash
docker stop nacos-single && docker rm nacos-single
docker run --name nacos-mysql \
-p 8848:8848 \
--env MODE=cluster \
--env SPRING_DATASOURCE_PLATFORM=mysql \
--env MYSQL_SERVICE_HOST=<MYSQL_HOST> \
--env MYSQL_SERVICE_PORT=3306 \
--env MYSQL_SERVICE_DB_NAME=nacos_config \
--env MYSQL_SERVICE_USER=root \
--env MYSQL_SERVICE_PASSWORD=your_password \
-d nacos/nacos-server:3.0.0
```
---
#### 集群模式部署
对于高可用场景,推荐采用集群模式部署多个 Nacos 实例。以下是基于 Docker Compose 的简单示例:
1. **编写 `docker-compose.yml` 文件**
下面是一个包含三个节点的 Nacos 集群配置模板:
```yaml
version: '3'
services:
nacos-1:
image: nacos/nacos-server:3.0.0
container_name: nacos-cluster-node-1
ports:
- "8848:8848"
environment:
- MODE=cluster
- PREFER_HOST_MODE=hostname
- SPRING_APPLICATION_NAME=nacos-server
- EMBEDDED_STORAGE=true
- JVM_XMS=512m
- JVM_XMX=512m
- JVM_XMN=256m
- NACOS_SERVERS=localhost:8848 localhost:9848 localhost:10848
nacos-2:
image: nacos/nacos-server:3.0.0
container_name: nacos-cluster-node-2
ports:
- "9848:8848"
environment:
- MODE=cluster
- PREFER_HOST_MODE=hostname
- SPRING_APPLICATION_NAME=nacos-server
- EMBEDDED_STORAGE=true
- JVM_XMS=512m
- JVM_XMX=512m
- JVM_XMN=256m
- NACOS_SERVERS=localhost:8848 localhost:9848 localhost:10848
nacos-3:
image: nacos/nacos-server:3.0.0
container_name: nacos-cluster-node-3
ports:
- "10848:8848"
environment:
- MODE=cluster
- PREFER_HOST_MODE=hostname
- SPRING_APPLICATION_NAME=nacos-server
- EMBEDDED_STORAGE=true
- JVM_XMS=512m
- JVM_XMX=512m
- JVM_XMN=256m
- NACOS_SERVERS=localhost:8848 localhost:9848 localhost:10848
```
2. **启动服务**
执行以下命令即可一键启动整个集群:
```bash
docker-compose up -d
```
---
### 注意事项
- 在生产环境中建议始终开启日志记录功能以便排查问题。
- 若计划长期维护该系统,请定期备份重要数据以防意外损失。
- 当前文档仅适用于 Linux/Mac 用户;Windows 用户可能需要额外调整部分路径映射逻辑。
阅读全文
相关推荐

















