docker启动nacos(单机模式、集群模式)

本文介绍如何部署Nacos配置中心服务,包括拉取镜像、单机及集群模式部署步骤,并详细说明了各参数配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.拉取nacos镜像

docker pull nacos/nacos-server:v2.1.2

2.将nacos容器中的文件拷贝到主机上,以便挂载

2.1.先以单机模式运行nacos

docker run -d --name nacos -p 8848:8848 -e MODE=standalone nacos/nacos-server:v2.1.2
查看运行过程:docker logs -f nacos

ps:如果启动失败可能是服务器内存过小,如果要限制nacos 占用的内存大小,使用以下语句

docker run --name nacos -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -p 8848:8848 -d nacos/nacos-server:v2.1.2
安装后也可以修改容器的内存大小 :
docker stop nacos
docker update -m 256M --memory-swap 512M nacos-quick
docker start nacos

2.2.将nacos文件拷贝到主机上的/app目录下

docker cp nacos:/home/nacos /usr/local
ps:nacos在docker中的默认存放位置为/home/nacos

2.3.删除nacos容器

docker rm -f nacos

3.创建nacos数据库

找到/usr/local/nacos/config下的mysql-schema.sql文件,复制里面的内容在mysql中运行,然后会自动生成数据表
在这里插入图片描述

4.运行nacos

4.1.以单机模式运行nacos,并使用mysql存储信息

docker run -d --name nacos \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
–restart always \
-v /usr/local/nacos/logs:/home/nacos/logs \
-v /usr/local/nacos/data:/home/nacos/data \
-v /usr/local/nacos/config:/home/nacos/config \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=数据库所在ip \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=数据库密码 \
nacos/nacos-server:v2.1.2

查看运行过程:docker logs -f nacos
在这里插入图片描述

4.2.以集群模式运行nacos,并使用mysql存储信息

nacos1

docker run -d --name nacos-cluster \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \(9848、9849为nacos2.X新增端口,不加的话SpringBoot服务会注册失败)
–net host \(从桥接模式改成主机模式,用主机的ip地址,不然注册服务可能会出错)
–restart always \(前面为两个短杠,记得修改)
-v /usr/local/nacos/logs:/home/nacos/logs \
-v /usr/local/nacos/data:/home/nacos/data \
-v /usr/local/nacos/config:/home/nacos/config \
-e MODE=cluster \
-e NACOS_SERVERS=192.168.137.133:8848 \(此处为指向其他集群服务的ip地址,如果有多个ip则用单引号括起来)
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.137.134 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=数据库密码 \
-e TZ=Asia/Shanghai \(不加时间注册服务时可能会报错)
nacos/nacos-server:v2.1.2

nacos2

docker run -d --name nacos-cluster \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \(9848、9849为nacos2.X新增端口,不加的话SpringBoot服务会注册失败)
–net host \(从桥接模式改成主机模式,用主机的ip地址,不然注册服务可能会出错)
–restart always \(前面为两个短杠,记得修改)
-v /usr/local/nacos/logs:/home/nacos/logs \
-v /usr/local/nacos/data:/home/nacos/data \
-v /usr/local/nacos/config:/home/nacos/config \
-e MODE=cluster \
-e NACOS_SERVERS=192.168.137.134:8848 \(此处为指向其他集群服务的ip地址,如果有多个ip则用单引号括起来)
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.137.134 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=数据库密码 \
-e TZ=Asia/Shanghai \(不加时间注册服务时可能会报错)
nacos/nacos-server:v2.1.2

后续有待补充。。。

### 如何使用 Docker 启动 Nacos 单机版 要通过 Docker 启动 Nacos 的单机版本,可以按照以下方法操作: #### 准备工作 确保已经安装并配置好 DockerDocker Compose 工具。如果尚未安装这些工具,请先完成它们的安装。 #### 下载官方镜像 可以通过拉取官方的 Nacos 镜像来准备环境: ```bash docker pull nacos/nacos-server ``` 此命令会下载最新版本的 Nacos 官方镜像[^3]。 #### 创建必要的文件夹结构 为了持久化存储数据以及自定义配置,建议创建一些本地目录用于挂载到容器内部: ```bash mkdir -p /home/nacos/conf /home/nacos/data /home/nacos/logs ``` 上述命令分别创建了 `conf`(配置)、`data`(数据)和 `logs`(日志)三个子目录[^4]。 #### 编写 Docker Compose 文件 编写一个简单的 `docker-compose.yml` 文件以便更方便地管理服务生命周期。以下是样例内容: ```yaml version: '3' services: nacos-standalone: image: nacos/nacos-server container_name: nacos-standalone environment: - MODE=standalone ports: - "8848:8848" volumes: - /home/nacos/conf:/home/nacos/extend/conf - /home/nacos/data:/home/nacos/data - /home/nacos/logs:/home/nacos/logs restart: always ``` 在此 YAML 文件中设置了运行模式为独立节点 (`MODE=standalone`) 并映射端口和服务路径[^5]。 #### 使用 Docker Compose 启动服务 保存上面的 `docker-compose.yml` 到当前目录下之后,在同一位置执行下面这条指令即可启动 Nacos 实例: ```bash docker-compose up -d ``` 这一步骤将以守护进程方式后台运行指定的服务实例[^6]。 访问地址通常设置成 http://localhost:8848/nacos ,默认用户名密码均为 **nacos**[^7]。 --- ### 注意事项 对于生产环境中部署多副本集群的情况,则需要额外考虑网络通信、负载均衡器集成等问题;而这里仅描述了一个基础开发测试用途下的快速搭建流程。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值