Docker - 镜像构建教程1(使用docker commit命令构建镜像)

作者: hangge 发布时间: 2019-09-06 浏览: 505 次 编辑

    Docker 提供了两种构建镜像的方法:docker commit 命令与 Dockerfile 构建文件。本文先介绍前者,也就是如何使用 docker commit 命令把一个正在运行的容器变成一个新的镜像。

注意 Docker 并不建议用户通过 docker commit 方式构建镜像:

  • 一是因为这是一种手工创建镜像的方式,容易出错,效率低且可重复性弱。

  • 二是使用者并不知道镜像是如何创建出来的,里面是否有恶意程序。也就是说无法对镜像进行审计,存在安全隐患。

1,运行容器

本次我们需要在 Ubuntu base 镜像中安装 vi 并且保存为新镜像,所以首先运行一个 Ubuntu 容器:

1
docker run -it ubuntu


2,修改容器

(1)前面运行时由于添加 -it 参数则自动以交互模式进入容器内部。我们执行 vi 命令可以发现其确实没有安装。

原文:Docker - 镜像构建教程1(使用docker commit命令构建镜像)


(2)接着分别执行如下两个命令安装 vi

1
2
apt update
apt install vim


(3)安装完毕后按下 Ctrl+P+Q 进行退出容器(但并不关闭容器)


3,将容器保存为新的镜像

(1)首先使用 docker ps 查看当前运行的容器。

原文:Docker - 镜像构建教程1(使用docker commit命令构建镜像)


(2)接着执行 docker commit 命令将容器保存为镜像:

  • 31ea7f0dca66 为容器的短 ID

  • ubuntu-with-vi 为新镜像的名字

1
docker commit 31ea7f0dca66 ubuntu-with-vi


4,新镜像的使用

(1)使用 docker images 命令查看镜像,可以发现新镜像由于安装了软件体积变大了。

原文:Docker - 镜像构建教程1(使用docker commit命令构建镜像)


(2)而使用新镜像启动容器,可以发现 vi 已经可以使用了。

原文:Docker - 镜像构建教程1(使用docker commit命令构建镜像)


原文链接:https://www.hangge.com/blog/cache/detail_2412.html