Ubuntu 20.04下Docker构建无规律失败,报错401未授权
解决Ubuntu 20.04下Docker构建无规律401认证失败问题
问题核心
构建时出现failed to fetch anonymous token: unexpected status: 401 Unauthorized错误,本质是Docker与NVIDIA容器镜像仓库(nvcr.io)的认证凭证失效或加载异常,临时操作里的重启只是让Docker daemon强制重新加载了认证配置。
无需重启机器的有效解决办法
重新加载Docker Daemon(替代重启计算机)
执行完rm ~/.docker/config.json和docker login后,不用重启整机,直接重新加载Docker服务即可生效:sudo systemctl reload docker该操作会让Docker daemon重新读取认证配置,完全保留本地构建缓存。
精准修复认证配置(避免全删config.json)
如果不想删除整个config.json(比如里面保存了其他镜像仓库的认证信息),可以手动清理nvcr.io的无效认证条目:- 查看当前配置:
cat ~/.docker/config.json - 找到
"nvcr.io"相关的认证节点,删除该条目后保存文件。 - 重新登录nvcr.io:
docker login nvcr.io - 执行
sudo systemctl reload docker让配置生效。
- 查看当前配置:
确认构建缓存保留
Docker构建缓存默认存储在本地,只要未执行docker builder prune或手动删除镜像,缓存就会持续保留。可执行docker builder ls查看缓存状态,确保正常复用。
错误日志参考
[internal] load .dockerignore transferring context: 2B [internal] load build definition from dockerfile transferring dockerfile: 1.69kB ERROR [internal] load metadata for nvcr.io/nvidia/pytorch:23.03-py3 [internal] load metadata for nvcr.io/nvidia/pytorch:23.03-py3: dockerfile:2 2 | >>> FROM nvcr.io/nvidia/pytorch:23.03-py3 3 | 4 | SHELL ["/bin/bash", "-c"] ERROR: failed to solve: failed to fetch anonymous token: unexpected status: 401 Unauthorized
内容的提问来源于stack exchange,提问作者ste_kwr
相关产品推荐
相关产品推荐

