gpt4 book ai didi

Docker ONBUILD COPY 似乎没有复制文件

转载 作者:IT老高 更新时间:2023-10-28 21:43:35 27 4
gpt4 key购买 nike

我在执行 docker build 命令时尝试将文件复制到 docker 镜像。我不确定我做错了什么,因为这似乎适用于 docker rails 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 来构建您的图像。如果您的图像是构建其他图像的模板,请使用 ONBUILD

Docker documentation :

The ONBUILD instruction adds to the image a trigger instruction to be executed at a later time, when the image is used as the base for another build. The trigger will be executed in the context of the downstream build, as if it had been inserted immediately after the FROM instruction in the downstream Dockerfile.

关于Docker ONBUILD COPY 似乎没有复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37814437/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com