热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自定义Docker镜像不继承CMD

如何解决《自定义Docker镜像不继承CMD》经验,为你挑选了1个好方法。

我有一个使用以下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命令的输出:

启动PHP FPM,CMD

但是,如果我复制CMD ["php-fpm"]到我的自定义的末尾Dockerfile,输出是

启动PHP FPM,CMD php-fpm

[01-Nov-2017 20:04:02]注意:fpm正在运行,pid 7

[01-Nov-2017 20:04:02]注意:准备好处理连接

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



1> BMitch..:

这种行为试图更直观,但我同意这有点令人困惑.你在这里看到原始问题.这个问题是大多数人ENTRYPOINT在儿童图像中定义不再需要CMD父图像.

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


推荐阅读
author-avatar
XL
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有