Docker build报错 DeadlineExceeded: failed to fetch oauth token: Post "https://auth.docker.io/token"
技术积累 Docker

Docker在build时候时候一直报错:DeadlineExceeded: DeadlineExceeded: failed to fetch oauth token: Post "https://auth.docker.io/token": dial tcp 205.186.152.122:443: i/o timeout

[+] Building 30.1s (6/6) FINISHED                                                                                                                                                                                           
 => [internal] load build definition from Dockerfile                                                                                                                                                                   0.0s
 => => transferring dockerfile: 1.11kB                                                                                                                                                                                 0.0s
 => [internal] load .dockerignore                                                                                                                                                                                      0.0s
 => => transferring context: 199B                                                                                                                                                                                      0.0s
 => ERROR [internal] load metadata for docker.io/library/nginx:1.20.2-alpine                                                                                                                                          30.0s
 => CANCELED [internal] load metadata for docker.io/library/node:16.13.1-alpine                                                                                                                                       30.0s
 => [auth] library/nginx:pull token for registry-1.docker.io                                                                                                                                                           0.0s
 => [auth] library/node:pull token for registry-1.docker.io                                                                                                                                                            0.0s
------
 > [internal] load metadata for docker.io/library/nginx:1.20.2-alpine:
------
Dockerfile:12
--------------------
  10 |         yarn build
  11 |     
  12 | >>> FROM nginx:1.20.2-alpine as app
  13 |     
  14 |     COPY --from=build /app/package.json /usr/local/lib/
--------------------
ERROR: failed to solve: DeadlineExceeded: DeadlineExceeded: failed to fetch oauth token: Post "https://auth.docker.io/token": dial tcp 205.186.152.122:443: i/o timeout

解决办法:

# 禁用 Docker BuildKit
# 禁用使用 Docker CLI 

export DOCKER_BUILDKIT=0
export COMPOSE_DOCKER_CLI_BUILD=0

在Docker中,DOCKER_BUILDKIT 和 COMPOSE_DOCKER_CLI_BUILD 是两个环境变量,控制着不同的构建行为。通过将这两个变量设置为 0,可以禁用一些高级的构建功能,并恢复到较老的构建方式,这样有时候可以避免在某些环境中遇到的问题。

DOCKER_BUILDKIT=0:禁用 Docker BuildKit。BuildKit 是 Docker 引入的新的构建系统,提供了更快和并行化的构建。但在某些情况下,禁用它可以帮助解决兼容性问题或错误。

COMPOSE_DOCKER_CLI_BUILD=0:禁用使用 Docker CLI 构建的特性,而恢复使用 docker-compose 自带的构建流程。

通过将这两个变量设置为 0,您可以绕过某些在启用了 BuildKit 和 Docker CLI 构建时出现的问题,使得构建过程能够顺利进行。

如果禁用这两个功能后可以正常 build,说明可能是 Docker BuildKit 或 Docker CLI 的某些特性与当前环境或项目配置不兼容。


本文最后记录时间 2024-09-23
文章链接地址:
https://me.jinchuang.org/archives/1566.html
本站文章除注明[转载|引用|来源],均为本站原创内容,转载前请注明出处
Docker容器添加host
Docker 设置网络代理
Docker容器java生成文件名称不支持中文
Kubeadm 初始化时候报的警告信息 detected "cgroupfs" as the Docker cgroup driver ···

Docker 设置网络代理

网易云音乐 - 动图歌单封面

留言

顶部