docker方式部署nacos或nacos集群

背景和问题

  1. nacos是一个集配置中心与注册中心于一体的服务
  2. 它可以单机式部署,也可以集群式部署(要是用在生产环节的话,当然应该是集群式)
  3. 有官网,官网的文档有一定的帮助作用。
  4. 这里的目的是为了部署一个nacos服务使用,先部署单机的,再部署集群的。

nacos官网
docker-compose 官方文档,英文,不太好懂,慢慢看有点用

目标

实现如下四个演化步骤

  • 场景一. rpm方式安装和部署单机nacos
  • 场景二. 多台(三台)机器分别安装和部署nacos集群及使用
  • 场景三. docker方式部署单机nacos
  • 场景四 4. docker-compose方式部署nacos集群

硬件条件

  1. windows10 电脑一台(假定性能很强),里面装了vmware,
  2. vmware中模拟出了多个CentOS 7.x系统,可放心操作。

涉及技能

  1. docker基本操作
  2. docker-compose基本操作及应用,docker-compose.yml文件的写法
  3. docker-compose 部署mysql、nacos
  4. linux基本操作及安装服务的常用操作

实操

传统方式

1. rpm安装nacos-server,并使用

单机模式下运行Nacos

包括使用内部数据源还是外部mysql,都有。

2. 集群方式安装nacos-server,并使用

集群模式部署

包括使用内部数据源还是外部mysql,都有。
这两种都非常常规,基本照做就成了,没有什么好说的。

此时需要同时启动几个虚拟机,一般的机器立马就卡得不行了。
现在流行的是容器,什么玩意都要用容器部署了才算完美。

容器方式

1. 容器方式部署传统nacos

单机模式 Derby

所需文件见此下载文件,里面的nacos-standalone.zip文件,我亲测成功。
在这里插入图片描述
下载地址(集群方式所需文件也有)

2. docker部署和启动带预置内容的mysql 5.7

有一个很好的参考文章。

docker-compose部署MySQL

从本文可以学到容器方式启动mysql,并且带有预置数据的方式。
亲测成功,而且预置的数据内容等还可以发挥一下。

3. 容器方式部署和启动nacos-server集群 (全文重点)

实际上,再这里之前有些前置要求,即需要对docker-compose.yml 文件的写法和用法有一定的了解,否则根本不知道自己在做什么,应该怎么做。
这个过程不一定容易。
但实际上如果掌握了这点,基本上用docker-compose部署什么都很容易的了

还有必要了解一定的docker常用命令及含义,如

docker network ls/create/rm/inspect
docker volume ls/create/rm/inpect

掌握这些命令是为了查看一些相关容器的信息,如ip地址之类的。

然后就可以进行一系列的配置

配置mysql,及mysql预置数据
配置mysql所需的、nacos所需的.env文件
配置nacos相关的配置文件,如 application.properties、cluster.conf等
最重要的,配置 docker-compose.yml 文件 (名字叫docker-compose.yml、compose.yml .yaml等都行)

其中,从 官网文档跳转到github的某些配置文件
这里面的文件,以及 .env文件等,都能学和领会到一些配置的含义和用法,建议仔细揣摩。

如下面几个图:
在这里插入图片描述
在这里插入图片描述

内容都配置完成后,最终就是一个docker-compose up命令就可以启动。
停止的时候就是 docker-compose down 。而且会把产生的container、network什么的一起删掉,几乎不留痕迹。

细说起来内容非常多,录了个屏,用这个视频来说明问题吧。
todo

再次提一下,所需文件都在上面的一个下载链接里,视频为证都成功了。

很多信息都在视频里

docker-compose部署nacos集群录屏

同一个视频,上面的是传到csdn
下面这个是传到B站的,显示效果天壤之别。
CSDN要好好想想了。

docker-compose部署nacos集群录屏

视频地址


最后,简单上个图,证明确实成功了。
在这里插入图片描述

### 使用 Docker Swarm 部署 Nacos 单节点集群 #### 准备工作 Nacos 集群部署依赖于 Docker Swarm 集群,在此之前需确保已将运行 Nacos 实例的 Docker 节点加入到 Swarm 中[^1]。 #### 创建可对接网络 由于 `docker stack deploy` 命令无法创建新的可对接 (attachable) 网络,因此必须提前使用 `docker network create` 定义该类型的网络,并将其设置为外部可用。具体操作如下: ```bash docker network create --driver=overlay --attachable nacos-network ``` 这条命令会创建一个名为 `nacos-network` 的 overlay 类型网络并允许容器连接至该网络[^2]。 #### 编写 Compose 文件 准备一份用于描述服务配置的 YAML 文件 (`docker-compose.yml`) ,其内容应至少包含以下部分: ```yaml version: '3.8' services: nacos-server: image: nacos/nacos-server:v2.0.3 environment: MODE: standalone networks: - nacos-network ports: - "8848:8848" networks: nacos-network: external: true ``` 上述文件指定了单机模式下启动 Nacos 所必需的各项参数以及端口映射关系;同时声明了所使用的自定义网络名称与外部属性相匹配。 #### 启动服务栈 完成以上准备工作之后,可以通过执行下面的指令来启动整个应用堆栈: ```bash docker stack deploy -c docker-compose.yml nacos-cluster ``` 这一步骤将会依据所提供的 compose 文件中的定义向 Swarm 发送请求以构建和管理一组关联的服务集合——即所谓的“服务栈”,此处命名为 `nacos-cluster`。 一旦所有组件都成功启动并正常运作,则意味着已经完成了基于 Docker Swarm 平台之上针对单一主机环境下的 Nacos 微服务体系注册中心实例的成功部署
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值