我有这个基于 Golang 的 Dockerfile:
FROM golang:latest
RUN mkdir -p /app
WORKDIR /app
COPY bin/huru .
CMD ./huru
我检查了一下,huru 二进制文件位于工作目录中。我收到此错误:
/bin/sh: 1: ./huru: 执行格式错误
有人知道那是什么吗? “docker build”成功,但“docker run”失败并出现该错误。
“Exec 格式错误”只是因为我将 OSX/MacOS 上构建的二进制文件复制到 Docker 映像中,并尝试在 Linux 容器中运行该二进制文件。那是行不通的。
这是对我有用的 Dockerfile:
FROM golang:latest
RUN mkdir -p /app
WORKDIR /app
COPY . .
ENV GOPATH /app
RUN go install huru
ENTRYPOINT /app/bin/huru
我的项目结构在我的主机 fs 上如下所示:
$GOPATH/
src/
huru/
.dockerignore
Dockerfile
I run:
docker build -t foo .
docker run foo
我的 .dockerignore 文件包含:
.vscode
bin
pkg
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)