Docker 无法在 Alpine Linux 容器中找到文件

问题描述 投票:0回答:1

我有一个正在为其创建 docker 映像的应用程序,该映像已创建,但当我运行它时,容器错误说它找不到可执行文件。

这是我的 docker 文件:

FROM alpine:3.14
WORKDIR /
EXPOSE 3000
COPY ./weather-api /weather-api
CMD ["/weather-api"]

我在

RUN ls -la
的正上方包含了一个
CMD
,它显示在构建正在构建的映像时文件就在那里,并且我包含了一个以
la -la
作为 CMD 的 shell 脚本,它显示了文件运行图像时是否存在。

这是我遇到的错误:

standard_init_linux.go:228: exec user process caused: no such file or directory

当我尝试从 shell 脚本调用weather-api 时,我收到标准文件未找到错误。

我尝试使用命令的绝对路径和相对路径,将文件复制到

/usr/local/bin
,我认为应该将其放在路径上,这样就可以从任何地方调用它,将
COPY
更改为
ADD

我对 docker 还很陌生,所以我们将不胜感激。

docker alpine-linux file-not-found
1个回答
0
投票

在 CMD ["/weather-api"] 之前添加以下行

RUN apk add libc6-compat
© www.soinside.com 2019 - 2024. All rights reserved.