来自基本Docker映像的文件是否应该出现在派生映像中?

来自基本Docker映像的文件是否应该出现在派生映像中?,docker,dockerfile,Docker,Dockerfile,我正在创建一个使用基本映像的Dockerfile:Dockerfile/rabbitmq 在rabbitmq的Dockerfile中,有一行代码用于将脚本安装到映像中: ADD bin/rabbitmq-start /usr/local/bin/ 在我的Dockerfile中,我没有这一行。我有自己的添加行 当我运行映像时,所有的rabbitmq二进制文件和配置文件都在那里,还有我的东西,但是任何地方都没有rabbitmq启动脚本 为什么它没有出现在我的形象中?(如果我运行基本映像docker

我正在创建一个使用基本映像的Dockerfile:Dockerfile/rabbitmq

在rabbitmq的Dockerfile中,有一行代码用于将脚本安装到映像中:

ADD bin/rabbitmq-start /usr/local/bin/
在我的Dockerfile中,我没有这一行。我有自己的添加行

当我运行映像时,所有的rabbitmq二进制文件和配置文件都在那里,还有我的东西,但是任何地方都没有rabbitmq启动脚本

为什么它没有出现在我的形象中?(如果我运行基本映像dockerfile/rabbitmq,文件当然就在那里。)添加不是“继承”到派生映像吗?

似乎对我有用:

  • 我在当地克隆并建造了它
  • 我在当地克隆并建造了它
  • 我在本地克隆并构建了它
  • 在映像中启动shell:

    docker run -it --rm gzoller/world bash
    
    [ root@d0044b91278e:/data ]$ ls /usr/local/bin/
    rabbitmq-start  start
    
    我看到由
    rabbitmq
    映像添加的
    rabbitmq start
    脚本以及映像中安装的
    start
    脚本:

    docker run -it --rm gzoller/world bash
    
    [ root@d0044b91278e:/data ]$ ls /usr/local/bin/
    rabbitmq-start  start
    

    基本映像中的文件应该是可见的(毕竟,
    dockerfile/rabbitmq
    本身是基于Ubuntu映像的,并且这些文件明显存在)。你能发布你的实际文件吗。。。我的第一个剪辑不是构建ubuntu和rabbitmq,而是从repo下载的。在这里,我的下一次尝试是将所有内容清理干净,克隆所有3个repo,并按顺序构建它们。现在rabbitmq启动文件已存在。docker hub和github中的内容一定有细微的区别。据我所知,docker hub中没有
    dockerfile/rabbitmq
    映像:
    错误:映像dockerfile/rabbitmq:未找到最新版本