前言
我们知道,从docker-hub上拉取的镜像所创建的容器是最小版本的,比如ubuntu内部是没有vim编辑器的,我们需要自己手动安装,但是当我们安装后假如有人把我们的容器误删了,那么我们再次根据原始镜像创建的容器就没有了我们配的环境,在这种情况下,我们就需要在原来镜像的基础上创建属于自己的镜像
一般情况下,我们有两种方法制作自己的镜像
- 重写dockerfile文件
- 在原来容器的基础上配好环境之后,使用docker commit命令制作
今天我们介绍如何使用docker commit命令制作镜像
镜像制作
我们以最小版的ubuntu镜像为例,并创建一个ubuntu容器,在这个容器里安装vim(原始的ubuntu容器是没有vim的),之后使用docker commit命令根据这个容器创建一个新的镜像,如果我们制作成功,那么我们使用新的镜像创建容器后,容器会有vim
进入原始容器
如图所示,我的docker镜像里有一个原始的ubunutu镜像,该镜像的大小只有76.2MB,接下来我们根据这个镜像创建一个容器并进入
docker run -it ubuntu /bin/bash
如图所示,当我们进入创建好的容器后使用vim命令,容器内的系统会给我们报错显示
bash: vim: command not found
接下来,我们手动安装vim
安装vim
1.更新源
apt-get update
2.安装vim
apt install vim
如图所示,我们安装成功后成功使用了vim命令
制作新镜像
接下来,我们根据这个容器重新制作一个新的镜像,使得下次我们使用这个新镜像创建容器
1.退出容器
2.根据该容器制作新镜像
如上所示,我们使用dokcer commit命令成功创建出了新的镜像,该命令的使用格式为
docker commit -m "提交信息" -a="作者名" 容器ID 要创建的目标镜像名:版本号
故整个命令为
docker commit -m "add vim command" -a="pcl" b2341aa6464b pcl/ubuntu:1.1
同时我们在上图也可以看到,我们自己制作的pcl/ubunutu镜像的大小比原来的镜像大小要大
验证
接下来,我们通过我们自己创建的新镜像pcl/ubunutu创建一个容器,查看是否有vim
如图所示,我们成功的使用新镜像进入容器之后使用了vim