准备工作
首先使用git拉取nacos官方提供的镜像制作工具
git clone https://github.com/nacos-group/nacos-docker.git
拉取成功后目录是这样
文档中对目录是这么介绍的
因此我们只是制作一个镜像,只需要用到其中的build文件夹,可以发现官方已经为我们写好了dockerfile文件
方式一:简单但费时
打开Dockerfile文件,修改部分位置即可
如果需要使用nacos的配置中心持久化,还需要修改conf目录下的application.properties文件
修改方式就是直接在对应的地方使用:赋值就行,如图
然后将整个build文件夹的内容通过ftp工具发送至linux服务器的任意文件夹,
在Dockerfile当前目录,执行命令 docker build -t nacos-docker(镜像名,任意) .(.代表当前目录)
emmmmm,由于这个镜像制作的方式是使用wget命令从github上拉取,所以及其费时,可能几个小时才能下载完成,所以推荐使用第二种方式
方式二:略微复杂但快速
方式二简单来说就是我们镜像制作的过程中,不需要去github拉取nacos,而是自己提前下载nacos压缩包交给docker制作镜像
首先去githbub下载自己想要的nacos版本的tar包,此处以2.0.3为例
下载成功后将其复制或移动到build目录中,让他们处于同一目录
然后修改Dockerfile文件
application.properties的修改方式和方式一一致
最后步骤一致,ftp发送至服务器执行打包命令
运行镜像 注意这里加入环境变量配置mode=standalone,因为配置文件中的mode是cluster集群,而我们只需要运行单机版的nacos,如果觉得麻烦可以自行修改配置文件中的mode
登陆后成功读取到数据库的配置信息
这个地方我遇到一个严重的bug,折磨了我一下午
运行容器发现容器没启动起来,于是前台执行发现打印错误语句
exec bin/docker-startup.sh: no such file or directory
我各种测试,各种调试,在构建镜像时打印bin目录,发现确实是有这个脚本文件docker-startup.sh存在,又去看是不是执行权限,总之也没弄出来,后来百度才发现。。是shell脚本的格式不对,
使用:set ff查看格式为dos,实际上应该为unix
使用:set ff=unix,保存退出,然后重新构建镜像。。。终于解决问题