Docker配置镜像源 解决拉取镜像超时 ERROR: failed to solve xx: : failed to resolve source metadata for docker.io/li

Docker配置镜像源 解决拉取镜像超时 ERROR: failed to solve xx: : failed to resolve source metadata for docker.io/li

分析问题:

我在构建镜像时报错:ERROR: failed to solve: golang:1.21: failed to resolve source metadata for docker.io/library/golang:1.21: failed to do request: Head "https://registry-1.docker.io/v2/library/golang/manifests/1.21": dial tcp 202.160.128.205:443: i/o timeout

排查原因,是构建过程中拉取镜像时出现了超时问题。

这表明 Docker 无法从 Docker Hub 中拉取镜像,原因是国内网络访问Docker Hub 会被限制。

解决方式:

这里直接说解决办法,想看具体原理分析的我写在本文末尾了。

解决方式是配置 Docker 使用国内镜像源(如阿里云、腾讯云、华为云),步骤如下:

验证配置:

docker info --format '{{.RegistryConfig.Mirrors}}'

保存后重启 Docker:

sudo systemctl daemon-reload sudo systemctl restart docker

编辑 Docker 配置文件(通常在 /etc/docker/daemon.json),添加以下内容:

{ "registry-mirrors": [ "https://<your-aliyun-id>.mirror.aliyuncs.com", "https://mirror.baidubce.com", "https://docker.m.daocloud.io" ] }

注意其中的<your-aliyun-id>需要替换为你自己的阿里云id,获取阿里云id的步骤如下:

最后测试一下:

原理分析:

Doceker 在拉取镜像时,会默认直接连接官方仓库 Docker Hub (地址为 registry-1.docker.io)进行拉取,因为官方仓库是在国外的,所以会出现超时问题。

镜像源是 Docker 配置的代理服务(通常由云厂商如阿里云、腾讯云提供),用于加速从Docker Hub中下载镜像。

若我们配置了镜像源(默认是没有配置的),Docker 会优先尝试通过这些源拉取镜像,失败后再回退到用官方仓库。

所以,我们的解决办法是配置镜像源,Docker 通过这些镜像源作为代理,成功拉取了Docker Hub中的镜像。


 

Read more

Spring Boot 消息队列与异步通信

Spring Boot 消息队列与异步通信

Spring Boot 消息队列与异步通信 21.1 学习目标与重点提示 学习目标:掌握Spring Boot消息队列与异步通信的核心概念与使用方法,包括消息队列的定义与特点、Spring Boot与ActiveMQ的集成、Spring Boot与RabbitMQ的集成、Spring Boot与Kafka的集成、Spring Boot异步通信的基本方法、Spring Boot的实际应用场景,学会在实际开发中处理消息队列与异步通信问题。 重点:消息队列的定义与特点、Spring Boot与ActiveMQ的集成、Spring Boot与RabbitMQ的集成、Spring Boot与Kafka的集成、Spring Boot异步通信的基本方法、Spring Boot的实际应用场景。 21.2 消息队列概述 消息队列是Java开发中的重要组件。 21.2.1 消息队列的定义 定义:消息队列是一种异步通信机制,用于在应用程序之间传递消息。 作用: * 实现应用程序之间的异步通信。 * 实现应用程序之间的解耦。 * 提高应用程序的性能。 常见的消息队列: * Activ

By Ne0inhk
【案例实战】鸿蒙分布式智能办公应用的架构设计与性能优化

【案例实战】鸿蒙分布式智能办公应用的架构设计与性能优化

目录 一、项目背景与挑战 项目概述 1.1 面临的技术挑战 二、分布式架构设计 2.1 整体架构概览 2.2 组件化设计 2.3 分布式通信机制 三、性能优化实战 3.1 UI渲染优化 3.1.1 虚拟列表实现 3.1.2 懒加载和预加载策略 3.2 内存管理优化 3.2.1 内存泄漏检测与修复 3.2.2 对象池与资源复用 3.3 启动性能优化 四、鸿蒙开放能力接入 4.1 云开发能力集成

By Ne0inhk
Flutter 组件 flutterw_sidekick_plugin 适配鸿蒙 HarmonyOS 实战:侧翼脚手架扩展,构建工程自动化与环境一致性治理架构

Flutter 组件 flutterw_sidekick_plugin 适配鸿蒙 HarmonyOS 实战:侧翼脚手架扩展,构建工程自动化与环境一致性治理架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 flutterw_sidekick_plugin 适配鸿蒙 HarmonyOS 实战:侧翼脚手架扩展,构建工程自动化与环境一致性治理架构 前言 在鸿蒙(OpenHarmony)生态迈向大规模团队协作、涉及多分支并行开发及复杂的 SDK 版本管控的背景下,如何确保每一位开发者的本地构建环境(Flutter/Dart SDK)与生产基准完全对齐,已成为保障项目交付质量的“工程定海神针”。在鸿蒙设备这类强调定制化编译工具链与私有插件依赖的环境下,如果团队缺乏统一的脚手架工具,由于由于本地 SDK 版本的微小代差(如空安全检测差异),极易由于由于“环境不一致”导致代码在不同机器上产生不可预知的编译崩溃。 我们需要一种能够深度集成 Sidekick、支持自定义命令扩展且具备“强制版本锁死”能力的脚手架治理方案。 flutterw_sidekick_plugin 为 Flutter 开发者引入了基于 Sidekick

By Ne0inhk
KingbaseES数据库:兼容 SQL 语法及 Oracle 过程化语言的语法基础

KingbaseES数据库:兼容 SQL 语法及 Oracle 过程化语言的语法基础

KingbaseES数据库:兼容 SQL 语法及 Oracle 过程化语言的语法基础 KingbaseES数据库:兼容 SQL 语法及 Oracle 过程化语言的语法基础,KingbaseES 数据库(Oracle 模式)以内核兼容为基础,实现了涵盖内核、工具和接口的全方位 Oracle 兼容,当前 Oracle 常用能力兼容性达 100%,能助力客户应用无感平滑迁移。在基础能力上,它兼容 SQL 语法、Oracle 过程化语言语法基础,覆盖数据类型、伪列、常用表达式、系统视图、内置函数等多方面;高级能力方面,支持 ROWID、BFILE 等特殊类型,DBLink 访问、物化视图等功能,还兼容客户端编程接口及 Oracle XML/JSON 能力,

By Ne0inhk