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
常用场景:
保存工作进度: 在开发或测试过程中,将容器的当前状态保存为镜像,以便稍后可以恢复。
创建基础镜像: 为特定应用程序或环境配置创建自定义基础镜像。
分发配置: 将特定配置或应用程序状态保存为镜像,以便分发给其他团队成员或在不同环境中使用。