我在M1 MacOS上运行Rancher Desktop(dockerd),当我尝试构建下面的Dockerfile时,会遇到以下错误。这是我尝试构建映像的命令:
docker build -t te-grafana-dashboards-toolchain --no-cache .
我尝试更改平台,但没有一种适用于我的情况。对于M1的平台问题,我有点迷失,但任何帮助都将不胜感激。我做错了什么?这可能是什么根本原因?Removing intermediate container 70af516d5d6b
---> a69229847153
Step 5/6 : RUN GO111MODULE="on" go get github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb; ln -s $(go env GOPATH)/bin/jb /usr/bin/jb
---> Running in 13545862fffe
qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory
qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory
Removing intermediate container 13545862fffe
Dockerfile
FROM --platform=linux/amd64 ubuntu:focal
RUN apt update; apt install -y curl jq build-essential python3.8 python3-pip docker-compose jsonnet bison mercurial
RUN ln -s /usr/bin/python3.8 /usr/bin/python
RUN curl -OL https://golang.org/dl/go1.17.linux-amd64.tar.gz; mkdir /etc/golang; tar -xvzf go1.17.linux-amd64.tar.gz -C /etc/golang; ln -s /etc/golang/go/bin/go /usr/bin/go; rm -f go1.17.linux-amd64.tar.gz
RUN GO111MODULE="on" go get github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb; ln -s $(go env GOPATH)/bin/jb /usr/bin/jb
WORKDIR /workspace
docker run
并添加--platform linux/amd64
解决了它。我正在安装arm64 go,但无法运行。谢谢。 - Pablo LIONservices.service_name.platform
设置为"linux/amd64"
。取自 https://dev59.com/EcHqa4cB1Zd3GeqP0Xh5 - Ben Butterworthdocker build --platform=linux/amd64
(来源)。 - stevec