gpt4 book ai didi

docker - 在 docker 容器中找不到文件

转载 作者:行者123 更新时间:2023-12-03 22:58:15 25 4
gpt4 key购买 nike

我正在做一些非常简单的事情。这是我的 Dockerfile :

FROM alpine:latest

ADD hello.sh /bin/hello
RUN chmod +x /bin/hello

CMD /bin/hello

然后我构建图像:
docker build -t hello .

然后我运行图像:
docker run hello

这是输出:
/bin/sh: /bin/hello: not found

为什么会这样?如果我运行:
docker run hello cat /bin/hello

我可以看到我的脚本内容,这让我更加困惑。

最佳答案

未找到的文件可能来自:

  • 文件实际上不存在,检查拼写错误,确保您没有尝试运行带引号的命令和所有参数,而您应该只运行该命令(不是这个问题,但多次看到它)。并确保您没有在您期望命令的位置上方安装卷。
  • 脚本顶部的命令不存在。例如。当容器只有 sh 时尝试调用 bash。这也适用于那些在 Windows 上创建脚本并在命令末尾具有无效换行符的人。我不相信 Alpine 包含其他基本图像所包含的 bash。
  • 您尝试运行的二进制文件链接容器内不存在的库。这在 Alpine 与 musl libc 版本差异中可见一斑。
  • 关于docker - 在 docker 容器中找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36001786/

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