今天给大家带来的主角是:spring-boot-docker-compose
第一次使用这个框架时,确实震惊到我了,我无法描述这个框架的作用,大家直接看吧~~
这是我新建的Springboot项目,里面没有任何逻辑代码,就一个Springboot启动类。
这是pom文件中的依赖引入:
可以看到,我引入了4个中间件,分别是rabbitMQ
,mongodb
,redis
和mysql
。
众所周知,这些中间件都必须在配置文件填写相应的账号密码、连接地址等,否则项目将无法启动。
但是~~
我没有填任何配置信息!
它居然正常启动了,并且在日志中输出了mongodb的连接信息!
这是什么魔法?
这是什么魔法?
这是什么魔法?
其实大家应该注意到了,我还有一个文件没有给大家看——compose.yaml
,我们来看一下:
用过docker-compose的人应该知道,这就是一个普通的compose文件,docker compose的概念在这里不展开描述,如果不清楚的同学可以简单理解为compose.yaml定义了一组容器,通过docker compose命令可以启动compose.yaml中定义的所有容器,并保持在同一个网络环境中运行。
当我们启动项目后,输出日志也能看到:
该框架会读取compose.yaml文件,并且会创建对应的容器(如果本地没有该镜像,系统会自动下载,下载完成后自动创建)。
而我们的配置文件也完全不需要了,该框架会通过读取compose.yaml中定义的配置信息自动读取到每个中间件框架驱动信息中,真正做到了一键启动。