【发布时间】:2023-01-18 20:45:13
【问题描述】:
我有一个 Containerfile 安装一个 go 二进制文件[1].
当我在桌面上通过 docker run 构建并执行容器时,它工作正常。
但是,当我在 GKE pod 上部署相同的容器时,出现错误:
/bin/sh: /root/service: not found
我假设这是一种安全锁定——但不确定如何让它在 GKE 上运行。
[1]:
FROM golang:1.19-alpine AS build
RUN go install github.com/QubitProducts/exporter_exporter@v0.4.5
FROM alpine
COPY --from=build --chown=root:root /go/bin/exporter_exporter /root/service
CMD /root/service
【问题讨论】:
-
对我来说,错误是
exec /bin/sh: exec format errornot found 可能是由于缺少二进制文件或文件,exec 格式错误,因为我在 Mac m1 ARM 上构建并在 GKE 节点的 AMD 进程上运行它,所以希望它对你来说不一样。对我来说,docker 在本地运行,但由于处理器平台更改而出现错误。请检查一次not found可能是由于在 CMD 命令最后一行创建了一半的构建或文件丢失。
标签: containers google-kubernetes-engine