基于现有镜像更新创建镜像
现有更新创建镜像
$ docker ps # 当前运行的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3ff6bfbfe6ba ubuntu "/bin/bash" 4 hours ago Up 4 hours elastic_wing
$ docker exec -it 3ff6bfbfe6ba /bin/bash # 进入容器
root@3ff6bfbfe6ba:/# apt-get update # 容器中执行更新软件源
Get:1 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB]
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:3 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [1676 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
Get:5 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [109 kB]
Get:6 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [17.5 MB]
Get:7 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [1390 kB]
Get:8 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1059 kB]
Get:9 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [44.6 kB]
Get:10 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1792 kB]
Get:11 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages [266 kB]
Get:12 http://archive.ubuntu.com/ubuntu jammy/restricted amd64 Packages [164 kB]
Get:13 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [50.4 kB]
Get:14 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [1713 kB]
Get:15 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1671 kB]
Get:16 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1325 kB]
Get:17 http://archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [50.4 kB]
Get:18 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [28.1 kB]
Fetched 29.3 MB in 59s (499 kB/s)
Reading package lists... Done
root@3ff6bfbfe6ba:/# exit # 退出容器
exit
$ docker commit -m="has update" -a="charley" 3ff6bfbfe6ba charley/ubuntu:v1 # 提交更改后的容器并产生新的镜像
sha256:f2135bec3c53526f6159ad8184c54e700cf883c323d09b8158879c46580f1ff8
$ docker images # 查看镜像,可以看到刚刚生成的新镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
charley/ubuntu v1 f2135bec3c53 About a minute ago 125MB
test/ubuntu v1 05443cf468db 4 hours ago 0B
ubuntu latest e34e831650c1 2 weeks ago 77.9MB
ubuntu 20.04 f78909c2b360 6 weeks ago 72.8MB
hello-world latest d2c94e258dcb 9 months ago 13.3kB
$ docker run -itd charley/ubuntu:v1 /bin/bash # 利用新镜像运行新容器并后台运行
2386f8d99743303f00e22763f7ea86ac44a39a2742983194af08f03b690f87f6
$ docker ps # 查看当前运行的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2386f8d99743 charley/ubuntu:v1 "/bin/bash" 6 seconds ago Up 5 seconds dazzling_engelbart
3ff6bfbfe6ba ubuntu "/bin/bash" 4 hours ago Up 4 hours elastic_wing
提交更新后的容器并产生新的镜像
-m
:提交的描述信息-a
:镜像的制作者3ff6bfbfe6ba
:容器的idcharley/ubuntu:v1
:要创建的目标镜像名