如何在Dockerfile中定义docker提交消息

如何在Dockerfile中定义docker提交消息,docker,dockerfile,Docker,Dockerfile,使用Dockerfile(docker build)是手动执行docker提交的替代方法。通过使用docker commit,有一个名为--message的选项,可用于定义提交消息。提交消息显示在docker history中名为COMMENT的专用列中。我的问题是:如何在Dockerfile中定义docker提交消息?官方文档对此进行了详细解释,以下是您的操作方法: 首先,将容器提交到图像: $ docker commit --message "Foo bar" 94bde3da7ffa do

使用
Dockerfile
docker build
)是手动执行
docker提交的替代方法。通过使用
docker commit
,有一个名为
--message
的选项,可用于定义提交消息。提交消息显示在
docker history
中名为
COMMENT
的专用列中。我的问题是:如何在
Dockerfile
中定义docker提交消息?

官方文档对此进行了详细解释,以下是您的操作方法:

首先,将容器提交到图像:

$ docker commit --message "Foo bar" 94bde3da7ffa dockertestcommess
然后,标记图像以适合注册表地址:

$ docker tag dockertestcommess spekulant/dockertestcommess
最后推送提交的镜像:

$ docker push spekulant/dockertestcommess
我的
docker history
显示了我提交的消息:

$ docker history spekulant/dockertestcommess
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
d3c3f4e85723        7 minutes ago       /bin/sh -c cat helloworld.txt                   0B                  Foo bar
fec5f399e907        3 days ago          /bin/sh -c #(nop)  CMD ["/bin/sh" "-c" "cat …   0B
0f0405202b75        3 days ago          /bin/sh -c #(nop) COPY file:17e1650f32b894fc…   8B
3fd9065eaf02        3 months ago        /bin/sh -c #(nop)  CMD ["/bin/sh"]              0B
<missing>           3 months ago        /bin/sh -c #(nop) ADD file:093f0723fa46f6cdb…   4.15MB
$docker history spekulant/dockertestcommess
由大小注释创建的图像
d3c3f4e85723 7分钟前/bin/sh-c cat helloworld.txt 0B Foo bar
fec5f399e907 3天前/bin/sh-c#(nop)CMD[“/bin/sh”“-c”“cat…0B
0f0405202b75 3天前/bin/sh-c#(nop)复制文件:17e1650f32b894fc…8B
3fd9065eaf02 3个月前/bin/sh-c#(nop)CMD[“/bin/sh”]0B
3个月前/bin/sh-c#(nop)添加文件:093f0723fa46f6cdb…4.15MB

使用
Dockerfile
docker build
可以创建一个全新的映像。因此,您没有任何可以用消息注释的更改。无法在
Dockerfile
中定义提交消息

正如文档指出的那样,
docker commit
对于调试更有用。要创建新映像,建议使用
docker build


这是有道理的,因为提交的映像很难复制,只有提交消息作为更改的提示。仅使用Dockerfile总是导致可复制的生成。

OP知道这一点。OP想知道如何为每个Dockerfile提供提交消息。