文章目录
Docker镜像的好处
项目在开发过程中往往会经历不同的环境,比如说有开发环境、有测试环境、有生产环境…,每个环境的地址都是不同的,而如何快速而高效的部署项目成了令我们头疼的问题。
而Docker就是为了解决上面的问题而诞生的。如果将我们的项目放到Docker容器中,然后将其打成镜像,这样,一旦我们需要部署项目时,我们直接在相应的服务器上拉取相应的镜像,加载容器,启动即可。由于Docker的启动可以实现秒级响应,因而我们可以在任何一台安装了Docker的服务器上实现快速部署操作。
创建Docker镜像
创建Docker镜像的方式大体上有两种:其一是传统的手动创建;其二便是通过Dockerfile文件创建。而这里,我们推荐使用Dockerfile的方式创建镜像。
手动创建Docker镜像
在我很久之前的文章中就提到过手动创建Docker镜像的方式,如下:
由于手动创建Docker镜像速度比较慢,需要不断的配置相应的运行环境,同时还面临系统瘦身难的问题。
比如我们搭建运行环境,先是将环境搭建所需的压缩包上传,比如说Java、Tomcat、项目的War包等。这些文件在上传之后,其本身是需要占用我们Docker容器的存储空间的,而一旦我们在使用时,是需要将其进行解压缩操作,这又会进一步的占用更大的Docker容器空间。
在我们在安装完成后,就需要将无用的安装包删掉,然后将当前的容器打成镜像。额。。。这看似没什么问题,不过,由于容器有多大,打成的镜像大小也与其相仿。此时问题就出来了,那就是此时我们的容器在删除无用的压缩包后,其本身不能自动瘦身回去,这进而导致我们打成的镜像本身就很臃肿。
因而这种纯手动将容器打成镜像的方式本身不受推荐。
通过Dockerfile创建Docker镜像
Dockerfile的基本组成与相关指令
一个完整的Dockerfile基本上有下面四部分组成:
- 基础镜像信息
- 维护者信息
- 镜像操作指令
- 容器启动时执行的指令