来自基本 Docker 图像的文件是否应该出现在派生图像中?
Should files from a base Docker image be present in a derived image?
我正在创建一个使用基础映像的 Dockerfile:dockerfile/rabbitmq。
在 rabbitmq 的 Dockerfile 中,有一行用于将脚本安装到映像中:
ADD bin/rabbitmq-start /usr/local/bin/
在我的 Dockerfile 中没有这一行。我有自己的 ADD 行。
当我 运行 图像时,所有 rabbitmq 二进制文件和配置都在那里,连同我的东西,但是任何地方都没有 rabbitmq-start 脚本。
为什么我的图像中没有它? (当然,如果我 运行 基本图像 dockerfile/rabbitmq 文件就在那里。)ADD 不是 "inherited" 派生图像吗?
似乎对我有用:
- 我克隆了 dockerfile/ubuntu 并在本地构建,
- 我克隆了 dockerfile/rabbitmq 并在本地构建,
- 我克隆了 your repository 并在本地构建了它。
正在启动映像中的 shell:
docker run -it --rm gzoller/world bash
我看到 rabbitmq
图像添加的 rabbitmq-start
脚本以及安装在您的图像中的 start
脚本:
[ root@d0044b91278e:/data ]$ ls /usr/local/bin/
rabbitmq-start start
我正在创建一个使用基础映像的 Dockerfile:dockerfile/rabbitmq。
在 rabbitmq 的 Dockerfile 中,有一行用于将脚本安装到映像中:
ADD bin/rabbitmq-start /usr/local/bin/
在我的 Dockerfile 中没有这一行。我有自己的 ADD 行。
当我 运行 图像时,所有 rabbitmq 二进制文件和配置都在那里,连同我的东西,但是任何地方都没有 rabbitmq-start 脚本。
为什么我的图像中没有它? (当然,如果我 运行 基本图像 dockerfile/rabbitmq 文件就在那里。)ADD 不是 "inherited" 派生图像吗?
似乎对我有用:
- 我克隆了 dockerfile/ubuntu 并在本地构建,
- 我克隆了 dockerfile/rabbitmq 并在本地构建,
- 我克隆了 your repository 并在本地构建了它。
正在启动映像中的 shell:
docker run -it --rm gzoller/world bash
我看到 rabbitmq
图像添加的 rabbitmq-start
脚本以及安装在您的图像中的 start
脚本:
[ root@d0044b91278e:/data ]$ ls /usr/local/bin/
rabbitmq-start start