Docker提交容器成镜像
发布网友
发布时间:2024-10-05 23:16
我来回答
共1个回答
热心网友
时间:2024-10-05 23:39
在Docker使用中,经常需要将容器的更改提交为镜像,以备后续使用时无需重复操作。例如,在容器中安装的内容。
运行的镜像就是容器,一个镜像可以创建多个容器。提交镜像至关重要,确保每次构建都可重复且高效。
提交的过程包括以下步骤。首先,查看容器ID:
bash
# docker ps -a
此操作显示了所有容器的信息。接着,进入容器,安装所需的环境,然后退出。
bash
test01@test:~$ docker start e63d89aab255
e63d89aab255
test01@test:~$ docker exec -it e63d89aab255 /bin/bash
完成环境配置后,使用Docker命令提交容器:
bash
docker commit [选项] [容器ID或容器名] [仓库名:标签]
其中,`-a`参数用于指定提交者,`-m`参数用于添加提交备注。在上述例子中,命令如下:
bash
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
新镜像myubuntu1804:v0.0.1相比之前,容量显著增加,这是因为包含更多安装的环境和工具。
最后,删除旧镜像以保持仓库的清洁:
bash
test01@test:~$ docker rmi hello-world:version2.0
Untagged: hello-world:version2.0
Deleted: sha256:d0354d8282cdcec2266d71f7176aaa4926b36fecb3f0dfd23a4b4d3b3f2a08f1