为什么 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
我有 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