Docker容器在使用过程中要经常提交备份成镜像。比如保存在容器中安装的内容。
运行起来的镜像就是容器,一个镜像可以创建多个容器。
提交镜像很重要,务必提交提交提交。
1.什么是提交?
在进入容器内后修改一些东西后安装某些工具后保存,以便下次run镜像时不用再次做同样的操作,这里假设已有一个镜像base,这个镜像是基于ubuntu:18.04 构建的,构建时只装了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)进入容器,安装一些环境,退出。
test01@test:~$ docker start e63d89aab255
e63d89aab255
test01@test:~$ docker exec -it e63d89aab255 /bin/bash
(3)提交
提交的格式:
docker commit [选项] [容器ID或容器名] [仓库名:标签]
-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