最近一直在做各种部署的事情,发现每次到一个新的环境都需要重新将之前的所有服务重新配置一下.这就导致工作量剧增.于是我就考虑将一些基础建设直接迁移至docker发布.到时候只需要写个docker-compose.yml初始化配置就行.基于以上思考,我准备将nacos先切换至docker启动.

        我们目前有一个已经在使用的版本,数据库使用的是PostgreSQL.根据以上去进行迁移.

1.官方包拉取

        我们可以从官方拉取一个版本的镜像,v2.3.0 可以根据自己的需求选择对应的镜像

docker pull nacos/nacos-server:v2.3.0 

       下载完成后 可以通过以下命令确认镜像是否拉取正常

docker images

2.docker-compose.yml

为了后续迁移方便,我这边写了个yml,直接生成启动配置.避免使用docker命令后面跟一堆参数信息,这样不是很好维护.

version: '3'

services:
  nacos:
    image: nacos/nacos-server:v2.3.0
    container_name: nacos
    ports:
      - "8848:8848"
      - "9848:9848"
      - "9849:9849"
    environment:
       MODE: standalone
      
    volumes:
      - ./nacos/logs:/home/nacos/logs
      - ./nacos/conf:/home/nacos/conf
      - ./nacos/plugins:/home/nacos/plugins
      - ./nacos/target:/home/nacos/target
    restart: always

这边内容就是根据官方镜像进行一个单机启动方式的一个命令.主要内容还是在于挂载的目录内有一部分初始化的内容.我下面分别解释下内容信息.

        - ./nacos/logs:/home/nacos/logs  这块是日志存放的目录
        - ./nacos/conf:/home/nacos/conf    这个是nacos的配置,我们需要将原有的配置内容迁移至这个文件夹下面 主要包含nacos-logback.xml(日志配置),application.properties(应用配置)等相关内容,nacos启动会从这边获取相关配置
      - ./nacos/plugins:/home/nacos/plugins  这是nacos插件的路径,主要是因为我们这边使用的PostgrePsql,默认情况下nacos未支持当前数据库,需要自己手动优化一下插件,从官方仓库手动打个插件包进来,我当时是这样处理的,不知道在写文的时候,官方有没有做好适配内容.
      - ./nacos/target:/home/nacos/target  这个主要是放官方需要的jar包(nacos-server.jar)

以上内容在原有的nacos服务中都已经全部配置好了.

3.服务启动

        以上内容都配置完成后,我们就可以开始启动项目了.我这边使用的windows环境测试的.基于docker客户端,测试完成后我们可以直接将yml信息,以及配置内容直接迁移到对应的新的服务器.

这是我的配置地址:

        启动方式:

docker compose -f nacos_start.yml up -d

可以看到镜像启动了

可以根据以下命令查看日志

docker compose -f nacos_start.yml logs -f nacos

--或者直接看nacos日志
docker logs nacos

可以看到nacos正常启动,并且历史配置的内容完全可以访问

以上就可以完成nacos无痛迁移至docker了.

好记性不如烂笔头.

更多推荐