Docker容器在使用過程中要經(jīng)常提交備份成鏡像。比如保存在容器中安裝的內(nèi)容。
運(yùn)行起來的鏡像就是容器,一個鏡像可以創(chuàng)建多個容器。
提交鏡像很重要,務(wù)必提交提交提交。

1.什么是提交?
在進(jìn)入容器內(nèi)后修改一些東西后安裝某些工具后保存,以便下次run鏡像時不用再次做同樣的操作,這里假設(shè)已有一個鏡像base,這個鏡像是基于ubuntu:18.04 構(gòu)建的,構(gòu)建時只裝了base庫,沒有ifconfig庫。

2.提交容器的方法:
(1)查看容器id
docker ps -a
這里只有兩個容器:
test01@test:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e63d89aab255 ubuntu:18.04 "/bin/bash" 12 hours ago Exited (0) 12 hours ago version1
d88782fadf13 hello-world "/hello" 24 hours ago Exited (0) 24 hours ago crazy_ganguly

(2)進(jìn)入容器,安裝一些環(huán)境,退出。
test01@test:~$ docker start e63d89aab255
e63d89aab255
test01@test:~$ docker exec -it e63d89aab255 /bin/bash


(3)提交
提交的格式:
docker commit [選項(xiàng)] [容器ID或容器名] [倉庫名:標(biāo)簽]
-a:修改人
-m:備注
test01@test:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e63d89aab255 ubuntu:18.04 "/bin/bash" 12 hours ago Up 4 minutes version1
d88782fadf13 hello-world "/hello" 24 hours ago Exited (0) 24 hours ago crazy_ganguly
test01@test:~$ docker commit -m "add ifconfig" e63d89aab255 myubuntu1804:v0.0.1
sha256:2bdd57e3df51cba0044734cfaa97ae9d2c6f127eaa75501007f695f5ff02cfbb
test01@test:~$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
myubuntu1804 v0.0.1 2bdd57e3df51 7 seconds ago 104MB
hello-world version2.0 d0354d8282cd 15 minutes ago 13.3kB
ubuntu 18.04 886eca19e611 9 days ago 63.1MB
hello-world latest feb5d9fea6a5 3 months ago 13.3kB

查看鏡像,可以看到新鏡像比舊鏡像大了好多。
(4)刪除老的鏡像
test01@test:~$ docker rmi hello-world:version2.0
Untagged: hello-world:version2.0
Deleted: sha256:d0354d8282cdcec2266d71f7176aaa4926b36fecb3f0dfd23a4b4d3b3f2a08f1

原文:
Docker提交容器成鏡像 - 知乎 (zhihu.com)
https://mp.weixin.qq.com/s/SJakWh0GOaCgFA5uzgdWRQ