docker commit
docker commit :从容器创建一个新的镜像。
语法
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS说明
{
"-a":"提交的镜像作者",
"-c":"使用Dockerfile指令来创建镜像",
"-m":"提交时的说明文字",
"-p":"在commit时,将容器暂停"
}
演示:容器安装了一个ping,然后提交
#我有一个容器ng01,镜像是nginx,
[root@VM-0-12-centos ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b3a95a492740 nginx "/docker-entrypoint.…" 5 days ago Up 5 days 0.0.0.0:8001->80/tcp ng01
[root@VM-0-12-centos ~]# docker exec -ti ng01 /bin/bash
#安装
root@b3a95a492740:/# apt-get update
#apt-get update...执行好几分钟...
root@b3a95a492740:/# apt install iputils-ping
#省略N行...
root@b3a95a492740:/# ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.041 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.042 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.037 ms
#不按Ctrl + C,会一直执行...?
[root@VM-0-12-centos ~]# docker commit -a "zf" -m "test" b3a95 nginxping
sha256:65e2e2b3abaea8668c964923da84e971f03c2066c158b3c61697cd9c3ba2c460