作为一个微服务的初学者,花了大约两天的时间才把若依的微服务部署在了Docker上,当然中间也是初次系统的学习了Docker与Linux的诸多功能。
话不多说,就从我开始部署到最后成功的顺序来一一列举我所遇到的问题。
一、finalshell与虚拟机连接超时(Connection timed out: connect)
困扰了我很久的问题,最初可能是版本的问题,我也是从centos8换到了7,后来才发现是我配置的网络有问题,最后还是在一篇及其简洁的文章中吸取了教训,网上的那些教程步骤虽然详细,但是却很复杂,对于刚接触虚拟机以及微服务的你可能会更加蒙圈,记住千万不要过多的配置,只会让你更加凌乱。
解决办法:直接重装,以前配置的那些通通out,重装之后去这里找到IPv4地址记下来,在finalshell里进行连接。
二、运行.sh脚本报错(坏的解释器: 没有那个文件或目录)
原因:脚本文件不支持linux系统。
解决办法:cd到docker文件中,vim depoly.sh进入到运行脚本中,“:set ff ”将最下边的“fileformat=doc”改为“fileformat=unix ”即可。
注:运行前给予depoly.sh执行权限(chmod +x depoly.sh )。
三、./depoly base 启动异常 (nacos 启动失败)
首先 必须要经常使用docker-compose logs -f 打开日志看下报错原因。
原因:1.无数据库源,你的远程连接无ry-cloud和ry-config数据库。
2.运行顺序的问题,试想一下,如果你的mysql还没有运行成功,就要启动nacos,肯定会出问题。
解决办法:先看下连接在主机远程能否测试连接成功,如果可以的话将ry-cloud和ry-config库粘到你的远程连接里,接着在shell里停掉nacos再启动就好了,如果还不行就试试重启命令,就这样多试几次。如果远程mysql连接不上,就卸载掉mysql镜像再重装,将密码设置成简单的数字,例:123456,重装后也别忘了一定要将ry-cloud和ry-config库弄好。
四、./depoly modules的时候nacos容器会挂掉
内存不足,当时我创建虚拟机的内存设置为1GB,运行nginx、mysql、nacos容器正好,再执行./depoly modules启动其它模块的时候nacos容器会自己挂掉,如果配置可以的话设置为4GB即可。
五、docker下载镜像速度太慢
我的最低已达到100B/S(当时真心想把电脑砸了),这个也很好解决,去百度多找一些国内的镜像服务器,阿里云、华为云、网易云,都加到你已经新建或者建好的daemon.json文件当中(/etc/docker/daemon.json),不用想其他问题,就全部追加进去,越多越好。如果还是慢,那就说明你加的还不够多。
最后总结一波,其实类似这些工作不怕你遇到问题,就怕你遇不到这些小的问题从而导致你一帆风顺,水能载舟亦能覆舟,当你在处理这些问题的时候虽然头痛,但是在这中间你可以多次使用各种命令、遇到各种问题能自主思考问题的原因以及解决办法,这些才是对于你今后的开发道路最宝贵的东西。