我想把我的手弄脏码头。我知道CMD或ENTRYPOINT用于为docker映像指定start/runnable命令,CMD被ENTRYPOINT覆盖。但我不知道,它是如何工作的,当父母码头形象,也有CMD或ENTRYPOINT或两者?
子映像是否从父码头映像继承这些值?如果是,那么父映像中的ENTRYPOINT是否覆盖子映像中的CMD?
我知道https://github.com/docker/compose/issues/3140已经讨论过这样的问题。但是,讨论很久了(在2-3年前),它没有明确地回答我的问题。
提前谢谢。
发布于 2018-02-28 14:13:53
如果您在子映像中定义了一个ENTRYPOINT,那么它将取消在本期中标识的CMD的值。这样做的目的是避免将入口点作为args传递给您不想运行的命令的混乱情况。
除了这种特定情况之外,ENTRYPOINT和CMD的值是继承的,可以被子映像单独重写,甚至可以被同一Dockerfile的稍后步骤覆盖。在图像中,每一个都只有一个值,最后定义的值具有优先级。
https://stackoverflow.com/questions/49028644
复制相似问题