首先,springCloud和springBoot的部署大体操作方法是差不多的。
但是由于springCloud的微服务架构打出来的jar包有多个,所以会需要产生多个image,接着就是产生多个容器。
注意要点
1:不知道为什么linux里面的config-server不能直接访问到http://gitee.com这类格式,www.gitee.com格式的网站倒是可以,所以也就导致了不太能用gitee存储user-serve这类应用的服务的配置信息。
最好还是把放在云端的配置信息那会本地服务中存放并打包部署。
2.由于是在虚拟机中配置的服务,所以如果想要各个server被注册到eureka-server中,则要注意好yml文件内所写的内容ip地址是localhost还是虚拟机的ip地址,如果没有正确输入虚拟机ip,你会发现eureka-server里面啥服务也没有。mysql数据库的地址同理。
3.犹豫虚拟机设置问题,虚拟机不一定能访问的了主机内的数据库,所以最好还是访问会虚拟机内的数据库,但是由于mysql中存储的测试数据,所以启动的mysql容器中需要存放好数据,也就是不能新建mysql容器,也就是说不能用docker-compose直接创建,但可以考虑通过数据卷挂载data文件夹内的数据,来直接放入测试用的数据文件。($PWD/data:/var/lib/mysql)
4.当每个容器测试完成后,可以考虑通过docker-compose集成式的一次性创建所有容器,并隐藏内部端口,通过nginx的反向代理,只暴露一个80或者8080这类的端口供外部访问。