本文描述了在Spring Boot项目中通过docker-maven-plugin插件把项目推送到私有docker仓库中,随后拉取仓库中的项目用docker run运行项目。作者自行构建,质量有保证。
1、要想使用,需要在中添加该插件;
注:注意下db:3306
2、我们构建镜像之前需要先将项目打包,然后再构建,否则会出错,直接使用如下命令即可
3、打包完成后就可以在我们的本地上看到这个镜像了;
4、当然我们也可以设置使用命令时直接打包镜像,修改,在节点下添加配置即可;
是额外添加的;不建立这么做在需要的时候在构建docker镜像就好了
构建镜像 v2.0 是对 v1.0 的升级,原来的缺点有构建docker镜像的步骤和项目的pom代码耦合严重,不利于后期修改且构建过程导致pom文件臃肿肥大。针对这些缺点 v2.0 采用 DockerFile方式把docker镜像的构建步骤和Spring Boot项目的pom文件分离。具体步骤如下:
1、新建DockerFile文件
在项目下新建DockerFile文件,内容自定义,参考内容如下:
2、修改pom文件
构建docker镜像的过程现在只有 这一行,非常简洁。
3、打包、构建、查看镜像
3步一套带走,比原来简洁很多看起来也舒服。
1、指定build和push推送到私有仓库
2、登录私有仓库地址:http://localhost:8280/,查看到刚推送的镜像
把镜像推送到私有仓库后,就需要拉取镜像到本地并使用镜像啦。
1、拉取镜像到本地
因为我们是本地构建的镜像再推送到私有仓库的,需要先把原先构建的镜像删除,再去私有仓库拉取镜像
2、运行容器
3、访问下容器其中的一个接口
但是比较遗憾,不出意外查看docker日志会显示数据库相关的报错。
这是因为我们在前面步骤中构建fire-tiny-fabric项目的镜像时指定了是需要依赖mysql数据库的但是我们在docker run中没有指定数据库,所以会出现数据库连接方面的错误
4、重新运行容器
-
如果存在使用docker构建的数据库,那通过–link指定mysql数据库:
注:mysql:db 中的mysql是容器的名称(–name),后面的db是构建fire-tiny-fabric时指定变量。–link的原理就是在/etc/hosts里面添加了一个alias的名称。
-
如果是本地自己构建的数据库,那指定ip地址端口
我们在项目中连接数据库用的是db作为域名,所以只要给容器添加上一个db指向主机ip地址的域名映射就可以
我的文章:《如何查看一个Docker镜像有哪些版本.md》
我的文章:《Docker设置国内镜像源.md》
我的文章:《Docker快速入门实用教程.md》
我的文章:《Docker安装MySQL、Redis、RabbitMQ、Elasticsearch、Nacos等常见服务.md》
我的文章:《Docker安装Nacos服务.md》
我的文章:《如何修改Docker中的文件.md》
我的文章:《Docker容器间的连接或通信方式.md》
我的文章:《Docker安装的MySQL如何持久化数据库数据.md》
我的文章:《制作Docker私有仓库.md》
我的文章:《使用docker-maven-plugin插件构建发布推镜像到私有仓库.md》
我的文章:《解决Docker安装Elasticsearch后访问9200端口失败.md》
传送门:保姆式Spring5源码解析
欢迎与作者一起交流技术和工作生活