自定义Docker镜像不继承CMD

前端之家收集整理的这篇文章主要介绍了自定义Docker镜像不继承CMD前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个使用以下Dockerfile构建的图像:

FROM PHP:7-fpm
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint
RUN chmod +x /usr/local/bin/docker-entrypoint
ENTRYPOINT ["docker-entrypoint"]

它使用自定义入口点,它是以下bash脚本:

#!/bin/bash
set -e
echo "STARTING PHP FPM,CMD $@"
docker-PHP-entrypoint "$@"

在它的Dockerfile中定义的父图像的命令是CMD [“PHP-fpm”]

现在我希望这个命令可以在我的图像中继承.但是,当我运行图像时,命令为空.以下是docker run命令的输出

STARTING PHP FPM,CMD

但是,如果我将CMD [“PHP-fpm”]复制到我的自定义Dockerfile的末尾,则输出

STARTING PHP FPM,CMD PHP-fpm

[01-Nov-2017 20:04:02] NOTICE: fpm is running,pid 7

[01-Nov-2017 20:04:02] NOTICE: ready to handle connections

为什么父母的CMD指令没有继承?

最佳答案
这种行为试图更直观,但我同意这有点令人困惑.你看到original issue here.那个问题是大多数人在子图像中定义ENTRYPOINT不再需要父图像中的CMD.

根据当前行为,如果在子图像中定义ENTRYPOINT,则父图像中的CMD将为空,因此如果需要设置它,则需要重新定义它.

原文链接:https://www.f2er.com/docker/436162.html

猜你在找的Docker相关文章