Docker实战系列——第四话-- 将你的spring-boot应用进行容器化的几种常见玩法

Posted 独孤文彬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker实战系列——第四话-- 将你的spring-boot应用进行容器化的几种常见玩法相关的知识,希望对你有一定的参考价值。

背景

docker从一个火的一塌糊涂的技术,到成为人尽皆知的基本技能已经是1-2年前的事情了,本章节的内容,意在记录和整理自己在工作和学习过程中,对于应用做容器化并推送到镜像仓库的方案和工具选择以及使用上的一些思考和心得。希望能够帮到大家

前置知识

docker、Idea 、maven、linux

容器化方案的选择

参考:https://juejin.im/post/5c60c021f265da2dd37bf85b
原则:

  • 推荐工具和自动化,减少对高水平人工的依赖,也可以降低故障率
  • 每种都可以,也都有各自优缺点,所以请结合项目或者公司的实际情况,选择适用于项目组的方式方法,最好是统一步调,减少管理和沟通成本

镜像仓库的选择

方案一:使用Idea的插件

使用IDE可视化的插件+Dockerfile(可使用本地docker,亦可使用远程(虚拟机中)的docker)
参考:https://blog.csdn.net/boling_cavalry/article/details/100051325

方案二:使用maven的dockerfile-maven-plugin插件

参考:https://zhuanlan.zhihu.com/p/90122357(灵活,强大,生产验证,资料多,社区活跃)

方案三:使用Google的gib插件

参考:https://www.jianshu.com/p/054c2e5e268d

遇到的坑

1、无法构建镜像:总结为2点,第一:检查dockerfile,是否存在语法错误。第二:检查相关资源是否存在,及其正确性
2、无法推送镜像:原因总结为3点,第一:检查用户名密码,用来登录你的仓库。第二:检查你的repository地址。第三:检查你打包的镜像,是否满足docker-hub的格式。dockerhub的username/仓库名,不能有多层路径,否则会报如下错误。

whey push image denied: requested access to the resource is denied
dockerfile-maven插件的repository的概念和docker-hub的repository,与maven的repository不一样

小结:

参考文章

https://github.com/docker/hub-feedback/issues/1222
https://stackoverflow.com/questions/41984399/denied-requested-access-to-the-resource-is-denied-docker
https://github.com/spotify/dockerfile-maven
https://www.jianshu.com/p/6717adc2ad94

以上是关于Docker实战系列——第四话-- 将你的spring-boot应用进行容器化的几种常见玩法的主要内容,如果未能解决你的问题,请参考以下文章

Flask 第四话之视图高级类用法

贯穿设计模式第四话--里氏替换原则

第四话·数据结构必看之·单链表就这?

实战Docker到Kubernetes技术系列视频教程

Docker深入浅出系列 | 5分钟搭建你的私有镜像仓库

JVM实战系列「监控调优体系」实战开发arthas-spring-boot-starter监控你的微服务是否健康!