010_Docker提交容器成镜像

Docker容器在使用过程中要经常提交备份成镜像。比如保存在容器中安装的内容。

运行起来的镜像就是容器,一个镜像可以创建多个容器。

提交镜像很重要,务必提交提交提交。

image.png

1.什么是提交?

在进入容器内后修改一些东西后安装某些工具后保存,以便下次run镜像时不用再次做同样的操作,这里假设已有一个镜像base,这个镜像是基于ubuntu:18.04 构建的,构建时只装了base库,没有ifconfig库。

image.png

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

image.png

(2)进入容器,安装一些环境,退出。

test01@test:~$ docker start e63d89aab255

e63d89aab255

test01@test:~$ docker exec -it e63d89aab255 /bin/bash

image.png
image.png

(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

image.png

查看镜像,可以看到新镜像比旧镜像大了好多。

(4)删除老的镜像

test01@test:~$ docker rmi hello-world:version2.0

Untagged: hello-world:version2.0

Deleted: sha256:d0354d8282cdcec2266d71f7176aaa4926b36fecb3f0dfd23a4b4d3b3f2a08f1

image.png

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

你可能感兴趣的:(010_Docker提交容器成镜像)