安装Docker
这一步没啥要说的,无论是windows还是linux还是mac,下载安装,一路Next,结束安装。等待Docker服务启动。Windows的安装会比较麻烦些(目前只支持Window10专业版)。电脑还要支持虚拟化。当然了,我觉得这些都是小问题,如果这些小问题,都把你难倒了,让你退缩了,那么咱们还是养养花种种草吧。
部署SpringBoot应用到Docker
准备工作:在C盘根目录,创建一个文件夹,名字随便命名,小编这里命名为docker,这是本次演示的工作目录,所有的文件都放在这里,所有的命令使用的都是相对路径,我们暂时称这个目录为工作目录。
1、部署EurekaServer服务注册中心集群
把服务注册中心打包成可运行jar
配置application-server1.yml的端口9527
name:eureka-server,hostname:server1
配置application-server2.yml的端口9527
name:eureka-server,hostname:server2
把jar包拷贝到我们的工作目录里;
在工作目录里创建两个文件
server1,server2注意没有文件名后缀。
![](https://i-blog.csdnimg.cn/blog_migrate/bfcd53f35a50049db6b5f633004420ed.jpeg)
server2文件内容和server1文件内容基本一致,只需要把激活文件处修改为"server2"即可。这里要注意的地方,假如集群配置文件,你修改成了别的名称,比如applicaiton-s1.yml,那么server1文件中的激活使用的资源配置文件处就要写"s1"。
打开shell终端(window里就是cmd,注意要用管理员身份)进入工作目录。输入命令:
![](https://i-blog.csdnimg.cn/blog_migrate/cbf7ad14a6faa41e6dbdcb60e7ce3efa.jpeg)
-t 给构建的镜像取一个名称,-f 指定构建的配置文档,注意最后还有一个点,这个点代表构建的工作目录,点代表是当前目录(不理解什么是镜像,没关系,跟着往下走),server2容器的创建,只需要把命令里的两个server1改成server2就可以了
输入命令:docker images,查看所有的镜像
![](https://i-blog.csdnimg.cn/blog_migrate/dc8eb4ddd1919288bf06f3da1573ef08.jpeg)
创建容器server1,并设置容器的环境参数。
![](https://i-blog.csdnimg.cn/blog_migrate/1dec81575ac591700531b128b109bb6d.jpeg)
各个参数的意义,就不列举了,一例举,文章一长,估计你就没耐心读下去了,有空的时候,回头参考这个命令,慢慢搜索学习。
创建容器server2参考server1,只要更换端口映射端口,IP,容器名称和使用的镜像名称
![](https://i-blog.csdnimg.cn/blog_migrate/ee01a71d93ffa3b0a86b4e900fbce9ee.jpeg)
然后本地浏览器访问
http://localhost:19527
http://localhost:29527
就可以看到服务注册中心看板页面了
如果到这一步,没有成功,建议不要往下看了,好好梳理下,看看哪一步出错了,实在不行,就关注私信我,我们单独交流。
2、部署EurekaClient服务客户端集群
3、部署EurekaRibbon、EurekaFeign服务消费端集群
4、部署EurekaZuul网关集群
2、3、4这三步骤,参考第一步,因为都是SpringBoot工程,只不过,修改下项目名称,修改端口号,hostname名称,ip地址,镜像名称,容器名称等。
如果到这一步,实在做不来,那你一定要关注私信我,我们单独交流,再不行就把源码和脚本一块给你。
5、部署Nginx
这一步,要单独说明了,因为,它不再是SpringBoot工程,前面的参考性不强了。
nginx的镜像,不需要我们自己构建那么麻烦,直接从docker云端拉取就可以了。
输入命令:docker pull nginx
有了镜像之后,就可以创建nginx的容器了。这里有些特殊,因为nginx有需要修改的配置,要配置反向代理,负载均衡等。修改这些配置文件,我们要把容器内的配置文件挂载到我们主机本地。
否则,nginx容器启动之后,还是没法使用。
![](https://i-blog.csdnimg.cn/blog_migrate/de1201907e68b298dcdd547c1da71752.jpeg)
nginx的反向代理,要配到网关集群上,还要记得加上负载均衡。
最后给大家看下运行效果
![](https://i-blog.csdnimg.cn/blog_migrate/f048b83f23229882bb2a91486e6a0ef3.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/afa9dfd1fe7761ef92ff875f3f976c84.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/34478a19447b174a25772f9d4bd6f0f6.jpeg)