我有一个使用以下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的末尾,则输出为
[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.
原文链接:https://www.f2er.com/docker/436162.html根据当前行为,如果在子图像中定义ENTRYPOINT,则父图像中的CMD将为空,因此如果需要设置它,则需要重新定义它.