命令介绍
docker commit
命令用于创建一个新的镜像,基于正在运行的容器的当前状态。它允许你捕捉容器所做的更改并将其保存为一个新的镜像,以便以后可以使用该镜像创建相同的容器或与之共享状态。以下是docker commit
命令的基本用法:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
其中,OPTIONS
是一些可选参数,CONTAINER
是要提交的容器的名称或ID,REPOSITORY
是要创建的新镜像的存储库名称,TAG
是可选的标签。
以下是一些常用的选项:
-
-a, --author
: 设置新镜像的作者信息。
示例:docker commit -a "John Doe" my_container my_image
-
-m, --message
: 设置提交的描述信息。
示例:docker commit -m "Added new feature" my_container my_image
-
-p, --pause
: 在提交时暂停容器的运行状态。
示例:docker commit -p my_container my_image
-
--change
: 应用Dockerfile指令(如CMD
、EXPOSE
、ENV
等)。
示例:docker commit --change 'EXPOSE 8080' my_container my_image
-
--squash
: 压缩提交的镜像层,以减小镜像大小。
示例:docker commit --squash my_container my_image
请注意,REPOSITORY
参数是可选的。如果未指定存储库名称和标签,则会为新镜像创建一个随机的ID作为名称。
使用docker commit
命令时,建议在提交前确保容器处于所需的状态,并尽量减少提交状态中的临时文件和敏感数据。还应注意,docker commit
命令创建的镜像是基于容器当前状态的快照,并不会捕捉容器的历史记录。
这是docker commit
命令的基本用法,你可以使用docker commit --help
命令查看完整的选项列表以及进一步的文档和示例。
使用示例
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
docker commit -a "zhangsan" -m "首页变化" <容器ID> guignginx:v1.0