泊坞窗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指令之后立即插入一样。