RedCloud Help

为什么要学docker

Docker 就是容器的一个代表,相当于把服务打包到 docker 容器里。

一个 Java 代码,需要通过 mvn 编译,编译源码之后会生成 war 包或者 jar 包,可以把 jar 包启动,就可以对外提供服务了(能正常访问页面,做操作)。如果是 war 包,需要弄到 tomcat 服务的 webapp 目录下,去启动。

没有用容器之前通常会出现如下问题:

  1. 开发环境没问题,测试环境报错 >排查后发现是启动脚本里 jdk 版本跟代码要求的版本不匹配

  2. 测试环境没问题,生产环境报错 -->排查发现是 tomcat 版本和 jdk 版本不匹配。

然后: 开发、运维、测试同事都都觉得自己没问题,总结的时候会相互撕,影响产品上线效率,最重要的是还影响团队绩效,把你的钱蹭蹭的扣

打包 机制就不一样了,他很强,可以把我这个代码需要的 一切 ,包括 tomcat,jdk,甚至是 linux 文件都 打包到一起。打包这个东西叫做镜像

这个打出来的包叫做镜像。 运行镜像的服务见叫做容器。可以发现 镜像可以很方便的做迁移,备份,存储,交付。

这样,打出来的包,优点就出来了 1.环境的强一致性。docker 镜像提供了除内核外完整的运行时环境,保证其他使用人员,能完整复现应用运行时环境。不会出现“这应用在 xxx 环境没问题”这种情况。 2.迁移方便,持续交付和部署。一次打包,到处运行。

13 February 2026