准备工作

首先使用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制作镜像

GitHub - alibaba/nacos: an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.

首先去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,保存退出,然后重新构建镜像。。。终于解决问题

推荐阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。