泊坞窗ONBUILD COPY似乎并不复制文件

我正在尝试执行docker build命令时将文件复制到docker镜像。 我不知道我在做什么错误,因为这似乎工作的泊坞窗轨onbuild文件,但不适用于我的自定义dockerfile。

这是我的Dockerfile

FROM ubuntu:14.04 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app ONBUILD COPY Gemfile /usr/src/app CMD ["tail", "-f", "/dev/null"] 

我运行的docker命令如下。

 docker build -t copy-test . docker run --name run-test -d copy-test docker exec -i -t 2e9adebae0fc /bin/bash 

当我用docker exec连接到容器时,它在/usr/src/app启动,但是Gemfile不在那里。 我不明白为什么mkdir和WORKDIR指令似乎工作,但ONBUILD COPY没有。 (是的,我正在调用这些命令的目录确实有一个Gemfile存在)

你必须使用COPY来build立你的图像。 使用ONBUILD如果您的图像是一种模板来build立其他图像。

请参阅Docker文档 :

ONBUILD指令为图像添加一个触发器指令,稍后将该图像用作另一个构build的基础。 触发器将在下游构build的上下文中执行,就像它已经在下游Dockerfile中的FROM指令之后立即插入一样。