目录
docker commit 提交容器副本使之成为一个新镜像
[root@localhost ~]# docker commit --help
Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
Create a new image from a container's changes
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)
[root@localhost ~]#
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的镜像名:[标签名]
操作案例:原始的ubuntu容易不支持vim,到创建一个支持vim的新容器
进去容器,运行,确实不支持vim命令:
[root@localhost wll]# docker run -it ubuntu /bin/bash
root@b94d60a383a5:/# ls
bin dev home lib32 libx32 mnt proc run srv tmp var
boot etc lib lib64 media opt root sbin sys usr
root@b94d60a383a5:/# vim a.txt
bash: vim: command not found
root@b94d60a383a5:/#
在容器内安装vim包
root@b94d60a383a5:/# apt-get update
Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:2 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [246 kB]
Get:3 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [97.1 kB]
Get:4 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [226 kB]
Get:5 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [4648 B]
Get:6 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB]
Get:7 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
Get:8 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]
Get:9 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1792 kB]
Get:10 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages [266 kB]
Get:11 http://archive.ubuntu.com/ubuntu jammy/restricted amd64 Packages [164 kB]
Get:12 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [17.5 MB]
Get:13 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [174 kB]
Get:14 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [276 kB]
Get:15 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [428 kB]
Get:16 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [7804 B]
Get:17 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [5798 B]
Fetched 9546 kB in 53s (180 kB/s)
Reading package lists... Done
root@b94d60a383a5:/#
root@b94d60a383a5:/# apt-get -y install vim
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
.........
Processing triggers for libc-bin (2.35-0ubuntu3) ...
root@b94d60a383a5:/#
安装完成后,已经可以支持vim命令
root@b94d60a383a5:/# vim a.txt
root@b94d60a383a5:/# cat a.txt
hello world!!!
root@b94d60a383a5:/#
更新完包后,重新打包新镜像
(需用退出容器(要保证容器还在后台运行),后再打包)
docker commit -m="ubnutu_vim" -a="haowll" b94d60a383a5 ubnutu_vim:v1.0.1
从下面的运行结果 可以看出,已经创建了新的镜像ubnutu_vim
root@b94d60a383a5:/# [root@localhost wll]#
[root@localhost wll]#
[root@localhost wll]#
[root@localhost wll]# docker commit -m="ubnutu_vim" -a="haowll" b94d60a383a5 ubnutu_vim:v1.0.1
sha256:5c70e897226328d84db6886dff33251f2460bcd92d061f9e4425a1e62f1db126
[root@localhost wll]#
[root@localhost wll]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubnutu_vim v1.0.1 5c70e8972263 45 seconds ago 172MB
redisbak 7.0.7 faa679f39e42 25 hours ago 101MB
tomcat latest 451d25ef4583 13 days ago 483MB
redis latest 2e50d70ba706 2 weeks ago 117MB
ubuntu latest 27941809078c 4 weeks ago 77.8MB
hello-world latest feb5d9fea6a5 9 months ago 13.3kB
centos latest 5d0da3dc9764 9 months ago 231MB
redis 6.0.8 16ecd2772934 20 months ago 104MB
[root@localhost wll]#
小结