我有一个正在为其创建 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 还很陌生,所以我们将不胜感激。
在 CMD ["/weather-api"] 之前添加以下行
RUN apk add libc6-compat