计算机网络/计算机科学与应用/系统/运维/开发

Docker commit 命令基于已有容器上创建镜像

docker commit命令 基于已有容器创建镜像 


作用:将容器的当前状态保存为一个新的Docker镜像

通常用于创建镜像来保存容器的状态,以便在将来可以重用或分发该镜像


格式: docker [container] commit [OPTIONS] CONTAINER [REPOSITORY [:TAG]]


选项: 

-a, --author作者信息

-c, --change提交的时候执行Dockerfile指令,包括CMD|ENTRYPOINT|E NV|EXPOSE|LABEL|ONBUILD|USER|VOLUME|WORKDIR等

-m, --message提交时说明文字

-p, --pausetrue提交时暂停容器运行,默认true


实例, 将a952cb容器保存为新的镜像test:0.1

$ docker container commit -m "Added a new file" -a "Docker Newbee" a952cb40 test:0.1


实例,将容器保存为新镜像

$ docker commit my_container my_new_image


指定标签: 将容器保存为带有latest标签的镜像

docker commit my_container my_new_image:latest


添加作者信息和提交信息:将容器保存为新镜像,并添加作者信息和提交信息

$ docker commit -a "Join" -m "说明信息" my_container my_new_image


不暂停容器的情况下提交镜像:

$ docker commit --pause=false my_container my_new_image


实例,启动一个容器 

docker run -d -it --name my_container ubuntu bash


改进:

docker exec my_container apt-get update
docker exec my_container apt-get install -y nginx


提交为新的镜像:

docker commit -a "Your Name" -m "Installed nginx" my_container my_new_image


查看新镜像:

docker images


常用场景:

保存工作进度: 在开发或测试过程中,将容器的当前状态保存为镜像,以便稍后可以恢复。

创建基础镜像: 为特定应用程序或环境配置创建自定义基础镜像。

分发配置: 将特定配置或应用程序状态保存为镜像,以便分发给其他团队成员或在不同环境中使用。


人生活在得失之间,得亦是失,失亦是得。

评论

^