SpringCloud微服务Docker部署

前两写了两篇,都是为SpringCloud+Docker部署做准备,在部署的时候,不同服务器,不同的Docker容器之间的通信,还好没有掉到坑里去,在公司里用了新技术,还是很开心的,小有成就感,之前一直想用上Docker,太忙就忽略了,这次是老大让我搭建一个预发布环境,一直都是重复性的工作,就很枯燥,心想着用新技术吧,这三篇文章,都是在各种爬坑中过来的

1.目录结构


跟之前写的一样都是Maven聚合工程,这里跟之前不一样的是,有个子模块的common,需要在构建的时候,install下,所有在jenkins 的 Pre Steps要配置

2.部署脚本

下面这个,跟之前写的一样,是部署在跟docker同一台服务器

下面这个,是部署在另外一台服务器,大致步骤是:
1.在本地打完镜像
2.然后Push到私服仓库
3.使用Jenkins的SSh插件,执行远程脚本
4.在远程的服务器(IP:10.19.44.21),拉取私服的镜像
5.在远程服务器,docker run

图片上的序号:
这里截的是另外一个项目的图,项目的目录结构是跟上面是一样的
1.给镜像打Tag
2.登录镜像私服
3.推送镜像到私服
4.这是配置好的SSH插件的远程服务器的信息
5.删除已经运行的容器
6.指定目标服务器的IP,这个是为了让SpringCloud能发现,下面会接着写
7.指定profile环境
8.运行

3.解释第六步

如果不指定-e "EUREKA_INSTANCE_IP-ADDRESS=10.19.44.21" \

在Eureka的管理界面,左下角会显示的docker容器的内网IP,这样,另外一台Docker容器就会访问不到,所有要配置-e "EUREKA_INSTANCE_IP-ADDRESS=10.19.44.21" \,再打开Eureka

这样不同服务器的docker容器才能访问

参考

我的博客 https://yanganlin.com