docker commit命令运用
先去dockerhub拉取一个ubuntu镜像:
sudo docker pull ubuntu
然后就可以看到刚拉取的ubuntu镜像了,大小为64M
接着以这个ubuntu镜像为模板新建一个容器(my_ubuntu)并进入该容器
sudo docker run -it --name="my_ubuntu" ubuntu
在my_ubuntu容器里执行vim和ifconig命令,发现都没有该命令
这时我们可以在容器内自行安装vim和ifconfig(注意:需要先执行apt-get update,同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。),以下三个命令依次执行:
apt-get update
apt-get install vim
apt-get install net-tools
此时就可以使用vim和ifconfig命令了
此时我们用ctrl+p+q退出该容器(容器并没有停止),然后查看正在运行的容器,就看到了刚才创建的容器my_ubuntu了
我们在my_ubuntu容器里安装了东西,如果此时再以ubuntu为镜像新建一个容器进去,执行vim和ifconfig命令,却发现又是命令没找到
这是因为我们刚才在my_ubuntu容器里安装的东西没有提交,执行
sudo docker commit -a="admin" -m="install vim and net-tools" a4e112867f5a ubuntu:1.1
命令解释:docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名],也就是说提交my_ubuntu容器副本,使之成为一个新的镜像ubuntu:1.1
此时就能看到镜像ubuntu:1.1的大小为152M了,就是因为安装了vim和net-tools工具的缘故。
然后以ubuntu:1.1镜像为模板创建新的容器,在新容器内就可以执行vim和ifconig命令了。