docker commit创建自己的容器副本
docker commit 提交一个容器副本,使之成为一个新的镜像。
下面是我们在ubuntu里面添加一个vim工具之后,提交一个副本,打包成一个新的带vim工具的镜像
[root@WIND ~]# docker exec -it f1f3be2dbfc5 /bin/bash
root@f1f3be2dbfc5:/# apt-get update
Get:1 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]
root@f1f3be2dbfc5:/# apt-get install vim
Reading package lists... Done
Building dependency tree
Reading state information... Done
[root@WIND ~]# docker commit -m 'ubuntu add vim , user WIND' f1f3be2dbfc5 unbuntu_with_vim:WIND
sha256:c56e4c03ee3a0e7285fa59b2a1c41e4251c670c6b7a88c35ff33c18eabdc9f06
[root@WIND ~]#
[root@WIND ~]#
[root@WIND ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
unbuntu_with_vim WIND c56e4c03ee3a 4 seconds ago 179MB
tomcat latest fb5657adc892 2 months ago 680MB
ubuntu latest ba6acccedd29 4 months ago 72.8MB
可以看到我们自己的副本,比官方的镜像大了大概100M。
-m 提交信息描述
-a 作者信息
如果我们不想用docker commit
用docker export ,import也是可以的
[root@WIND ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cfc74b0d5a66 nginx "/docker-entrypoint.…" 5 hours ago Up 5 hours 80/tcp stupefied_chebyshev
f1f3be2dbfc5 ubuntu "/bin/bash" 5 hours ago Up 26 minutes u009
[root@WIND ~]# docker export f1f3be2dbfc5 > ubuntu_with_vim.tar.gz
[root@WIND ~]#
[root@WIND ~]# cat ubuntu_with_vim.tar.gz | docker import - imp_ubuntu_with_vim:u009_latest
sha256:b647c0530a2d34fabd5f6d1b3f77a03daa6cb191d8b5aecfd9320437f0b9ebb7
[root@WIND ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
imp_ubuntu_with_vim u009_latest b647c0530a2d 11 seconds ago 178MB
[root@WIND ~]# docker run -it b647c0530a2d /bin/bash
root@7acb7ba6797b:/# cat /tmp/a.txt
Hello
installd vim
root@7acb7ba6797b:/# vim /tmp/a.txt
一样可以正常使用vim命令