为什么 Docker 构建失败?

Why Docker build failed?

我有 dockerfile:

FROM alpine:latest

COPY . .

# C-CPP
RUN apk update \
&& apk add build-base \
&& apk add g++

# JAVA 8
RUN apk fetch openjdk8 \
&& apk add openjdk8
ENV JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
ENV PATH="$JAVA_HOME/bin:${PATH}"

# Python 3
RUN apk add python3 py3-pip \
&& apk add --upgrade bash

RUN ["chmod", "+x", "./run.sh"]
ENTRYPOINT [ "./run.sh" ]

当我按下命令时 docker build -t dockerfile .。我收到此错误,这是什么意思以及如何解决?

[+] Building 28.2s (3/3) FINISHED => [internal] load build definition from Dockerfile 1.3s => => transferring dockerfile: 32B 0.2s => [internal] load .dockerignore 1.6s => => transferring context: 2B 0.1s => ERROR [internal] load metadata for docker.io/library/alpine:latest 26.5s

[internal] load metadata for docker.io/library/alpine:latest: ------ failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to do request: Head "https://registry-1.docker.io/v2/library/alpine/manifests/latest": dial tcp 52.200.78.26:443: i/o timeout

这显然是网络超时问题。没有语法错误,共享 dockerfile 工作正常。

如何验证网络问题: 如果你有卷曲工具

curl -v https://registry-1.docker.io/v2/library/alpine/manifests/latest

curl 的输出

或者直接输入浏览器

https://registry-1.docker.io/v2/library/alpine/manifests/latest