Docker部署Nacos

前言

  因为最近在准备面试,也在学习一些技术,目前正在看 SpringCloudAlibaba 这一套框架,在进行 Nacos 集群部署的时候感觉每次都要解压什么的太麻烦了,所以决定直接用 Docker 去进行部署。这篇文章也会一点点慢慢完善的。好了,话不多说👇🏻就要开始了

1、拉取 Nacos 镜像

执行 docker pull nacos/nacos-server:v2.1.0 命令拉取nacos镜像

2、在本机创建nacos容器需要挂载的目录

图片加载失败

3、编写nacos的配置文件

这里的配置文件不是修改容器内的配置文件,而是编辑挂载目录中的配置文件:

  1. 在conf目录下执行vim application.properties 命令编写配置文件

  2. 在配置文件中添加一下内容,这里可以根据你需要的配置进行修改,只添加自己需要的就好,就会覆盖掉容器内对应的配置

    mysql:nacos数据库脚本:nacos-db.sql

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #*************** Config Module Related Configurations ***************#
    ### If use MySQL as datasource:
    spring.datasource.platform=mysql

    ### Count of DB:
    db.num=1
    #连接mysql8.0数据库
    ### Connect URL of DB:
    db.url.0=jdbc:mysql://这里填写你数据的ip:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&useSSL=false
    db.user.0=root
    db.password.0=root

4、到这里就配置好了,可以使用命令进行启动了

执行以下命令启动nacos容器:

1
2
3
4
5
6
7
8
9
10
11
docker  run --name nacos -p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=128m \
-e JVM_XMX=128m \
-e MODE=standalone \
-e PREFER_HOST_MODE=ip \
-v /home/nacos/logs:/home/nacos/logs \
-v /home/nacos/conf/application.properties:/home/nacos/conf/application.properties \
-d nacos/nacos-server:v2.1.0

这里我们指定了 -e MODE=stanalone 参数,这个参数的含义是单机启动,如果是集群启动,这里需要进行修改。

这条命令我们可以保存为一个shell脚本,需要的时候执行就可以了。

5、Nacos 集群

首先你需要三台虚拟机,或者直接在一台机器上面启动三个端口不通Nacos容器。

  1. 将 Nacos 启动模式修改为集群 -e MODE=cluster

  2. 增加集群节点 -e NACOS_SERVERS="192.168.0.108:8848 192.168.0.109:8848"这里的ip、端口根据自己的环境进行配置即可。