镜像分层理解实践&docker commit 实操
2024-01-07 23:32:27
镜像分层理解实践&docker commit 实操
1 docker commit 命令语法
docker commit命令用于 从运行中的容器提交为镜像,通常是在容器中编辑文件或者扩展新功能后 保存为新镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
Options:
-a, --author string Author (e.g., “John Hannibal Smith hannibal@a-team.com”)
-c, --change list Apply Dockerfile instruction to the created image
-m, --message string Commit message
-p, --pause Pause container during commit (default true)
常用形式
docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]
2 实操目标
我们在ubuntu 容器总增加vim 命令后,保存为新镜像,并使用新镜像启动一个新容器
- 拉取镜像
#拉取ubuntu 镜像
$ docker pull ubuntu:latest
#查看本地镜像
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest ba6acccedd29 2 years ago 72.8MB
- 启动一个ubuntu 容器
#启动容器
$ docker run -it --name=ubuntu1 ubuntu /bin/bash
#容器内执行vim 命令 发现没有
root@a077efb7baf7:/$ vim
bash: vim: command not found
- 容器内安装vim
root@a077efb7baf7:/$ apt-get update
root@a077efb7baf7:/$ apt-get install vim
#创建一个b.txt 文件
root@a077efb7baf7:/tmp$ touch b.txt && echo "124" > b.txt
root@a077efb7baf7:/tmp$ vim b.txt
#确认已经安装好了vim
- 提交镜像
#在主机上提交镜像
$ docker commit -m="ubuntu add vim" -a="my" a077 myubuntu:vim
sha256:c0ef6bd37906e4f86b149a9296669cc4cd103018d512cf11e5456d40469734f2
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myubuntu vim c0ef6bd37906 6 seconds ago 189MB
ubuntu latest ba6acccedd29 2 years ago 72.8MB
#已经有新镜像myubuntu并且新镜像要比原来的镜像大很多
- 运行新的容器
#运行新的容器
$ docker run -it --name=myubuntu1 myubuntu:vim /bin/bash
#查看提交镜像前创建的文件 ,发现还存在
$ cd /tmp
$ cat b.txt
124
#执行vim命令 确定存在vim
root@b01f01f7d267:/tmp$ vim b.txt
文章来源:https://blog.csdn.net/prcyang/article/details/135434116
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!