当前位置: 首页 > web >正文

apt 软件源与 Docker 镜像源

apt 软件源与 Docker 镜像源

1. apt 的工作原理

  • 职责apt 是 Linux 系统的包管理工具,用于安装、更新、卸载系统软件包(如 nginxcurl 等)。
  • 配置文件apt/etc/apt/sources.list/etc/apt/sources.list.d/ 下的文件中读取软件源地址。
  • 拉取过程
    • 当运行 apt update 时,apt 会从配置的软件源地址下载软件包的元数据(如版本号、依赖关系等)。
    • 当运行 apt install <package> 时,apt 会从软件源下载实际的软件包文件(如 .deb 文件)。
  • 类比apt 像是一个“软件商店”的客户端,sources.list 是商店的地址列表,apt 从这些地址下载软件。

2. Docker 的工作原理

  • 职责:Docker 是一个容器化平台,用于运行和管理容器化的应用程序(如 nginx 容器、MySQL 容器等)。
  • 配置文件:Docker 的镜像源地址配置在 /etc/docker/daemon.json 中,通过 "registry-mirrors" 字段指定。
  • 拉取过程
    • 当运行 docker pull <image> 时,Docker 会从配置的镜像源地址(如 Docker Hub 或国内镜像加速器)下载容器镜像。
    • 镜像源地址可以是官方 Docker Hub(https://registry-1.docker.io)或国内镜像加速器(如阿里云、网易云等)。
  • 类比:Docker 像是一个“容器仓库”的客户端,daemon.json 中的 "registry-mirrors" 是仓库的地址列表,Docker 从这些地址下载容器镜像。

3. 两者的区别与联系

  • 区别
    • apt 管理的是系统软件包(如 .deb 文件),而 Docker 管理的是容器镜像(如 .tar 或镜像层)。
    • apt 的软件源是系统软件的仓库,而 Docker 的镜像源是容器镜像的仓库。
  • 联系
    • 两者都是“客户端-仓库”模型,通过配置文件指定仓库地址。
    • 两者都可以通过配置国内镜像源来加速下载(apt 用国内软件源,Docker 用国内镜像加速器)。

4. 配置示例

apt 的国内软件源配置
  • 编辑 /etc/apt/sources.list,替换为国内镜像源(如阿里云):
    sudo nano /etc/apt/sources.list
    
    替换为以下内容(以 Kali Linux 为例):
    deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib
    deb-src https://mirrors.aliyun.com/kali kali-rolling main non-free contrib
    
  • 更新软件包列表:
    sudo apt update
    
Docker 的国内镜像加速器配置
  • 编辑 /etc/docker/daemon.json,添加国内镜像加速器地址(如阿里云):
    sudo nano /etc/docker/daemon.json
    
    内容如下:
    {"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
    }
    
  • 重启 Docker 服务:
    sudo systemctl restart docker
    

5. 总结

  • apt
    • /etc/apt/sources.list 中读取软件源地址。
    • 下载系统软件包(如 .deb 文件)。
  • Docker
    • /etc/docker/daemon.json 中的 "registry-mirrors" 读取镜像源地址。
    • 下载容器镜像(如 .tar 或镜像层)。
  • 类比
    • apt 是“软件商店”客户端,sources.list 是商店地址。
    • Docker 是“容器仓库”客户端,daemon.json 中的 "registry-mirrors" 是仓库地址。

通过这样的配置,可以显著加速 apt 和 Docker 的下载速度,尤其是在国内网络环境下。

http://www.xdnf.cn/news/5784.html

相关文章:

  • Westlake-Omni 情感端音频生成式输出模型
  • 软考高分备考秘籍:综合知识、案例分析、论文全攻略
  • 如何使用VBA宏高效操作Word文档中的表格(对齐与样式)
  • 六、STM32 HAL库回调机制详解:从设计原理到实战应用
  • nginx-整合modsecurity做waf
  • Ubuntu 22初始配置(root、ssh)
  • 航电系统之电传飞行控制系统篇
  • IDR方程迭代求解算法介绍与比较
  • Ollama+OpenWebUI+docker完整版部署,附带软件下载链接,配置+中文汉化+docker源,适合内网部署,可以局域网使用
  • Java 线程的堆栈跟踪信息
  • 《Python星球日记》 第62天:图像方向综合项目(猫狗分类)
  • Java自动化测试
  • 2025年5月13日 奇门遁甲与股市
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.4.3)
  • 麒麟 v10 卸载podman
  • 【大模型MCP协议】MCP官方文档(Model Context Protocol)一、开始——1. 介绍
  • pythonocc 拉伸特征
  • C语言 第六章 结构体(3)
  • 0前言(文章体系)
  • 数字滤波器应用介绍
  • 流体力学绪论(期末复习)
  • 【android bluetooth 框架分析 02】【Module详解 13】【CounterMetrics 模块介绍】
  • 继承关系下创建对象的具体流程
  • 生活破破烂烂,AI 缝缝补补(附提示词)
  • 进程间的通信
  • python-75-Nacos技术之Python+Nacos实现微服务架构
  • 打破效率枷锁,数企云外呼一骑绝尘
  • beyond compare 免密钥进入使用(删除注册表)
  • MacOS 上构建 gem5
  • 排错-harbor-db容器异常重启