如何构建镜像(一)

前面我们讲解了Docker Hub上的镜像是基于Dockerfile文件,那我们可不可以自己构建镜像?怎样构建镜像?

实际上镜像的构建有三种方法:

(1)基于运行的容器状态生成新的镜像,即docker commit

(2)基于Dockerfile构建镜像,即docker build

(3)利用Docker Hub自动构建镜像

本节我们将讲解第一种方法。

之前我们已经知道要运行容器就需要使用镜像,显然使用现成的镜像(无论是从Docker Hub还是从别人处获取)在方便不过了。但是实际工作中,现成的镜像往往不能完全满足我们的需求。例如官方的Ubuntu镜像就没有提供ssh的功能。那这个时候就需要我们基于已有的镜像去构建新的镜像。Docker提供的docker commit命令很好的实现了这一功能,其过程可以总结为:

基于已有的镜像运行容器;

进入容器修改容器;

利用docker commit生成新的镜像。

下面,我们以Ubuntu镜像为例演示如何构建新的镜像。

进入容器,bc50d965d081为容器短ID

查询ssh服务

更新源

安装openssh-server包

基于容器名或容器ID使用docker commit生成新的镜像

查询本地新的镜像ubuntu-ssh

新的镜像大小变为205M,比原来大了将近100M,原因在安装openssh-server时安装了很多依赖包。

验证新的镜像是否安装了ssh服务

以上就是利用docker commit构建镜像的完整过程。下一节,我们将讲解另一种构建镜像的方法:基于Dockerfile的docker build命令。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180117G01XAQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券