docker 配置缓存代理服务apt-cacher-ng

简介:

Apt-Cacher-NG是一个缓存代理服务(或者apt代理),对基于Debian的设备,如 Ubuntu, Kubuntu, Xubuntu, Edubuntu, Linux Mint等,它被是用来缓存已经下载过的包。

wKioL1jbgyzxjb9AAAFjNQixMhc202.png

你有几台电脑链接的网络,你想手动在每台机器上安装或者更新软件包,(可想而知)这是一个相当困难的任务而且耗费时间;这就是我们为什么要配置一个apt-cacher-ng服务到所有系统这个伟大想法的原因,因为它将从网络首次缓存所有已下载包到 apt-cache server,剩余的Debian, Ubuntu机器获得这些软件包就只需从Apt-Cache直接获取,这将节约我们的宝贵的时间和网络带宽。

特点

  1. apt-cacher-ng 将节约我们的时间.

  2. apt-cacher-ng 将节约我们的带宽.

  3. 通过导入参数,我们可以整合 ISO image data 或者 DVD到 apt-cacher-ng。

本次实验使用docker容器来搭建:

1、首先创建Dockerfile文件,

1
2
3
4
5
6
7
8
root@ubuntu:~ /docker/apt-cache-ng # cat Dockerfile 
FROM        ubuntu
 
VOLUME      [ "/var/cache/apt-cacher-ng" ]
RUN     apt-get update && apt-get  install  -y apt-cacher-ng
 
EXPOSE      3142
CMD      chmod  777  /var/cache/apt-cacher-ng  &&  /etc/init .d /apt-cacher-ng  start &&  tail  -f  /var/log/apt-cacher-ng/ *

2、build这个镜像

1
docker build -t eg_apt_cache_ng .

3、启动镜像,并且把端口映射到宿主机的13142上

1
docker run -d -p 13142:3142 --name test_apt_cacher_ng eg_apt_cacher_ng

4、可以使用docker命令来查看日志

1
docker logs -f test_apt_cacher_ng

5、登录浏览器查看;

wKioL1jbhV6htjA_AAEZZsPnZ_8744.png-wh_50

wKiom1jbhZLBIRp4AAB6E_3pxtY989.png

这里,我们可以看到 apt-cacher-ng的报告页面,点击静态报告,配置页面的底部,导航到下载命中或者失误的情况页面。

在报告页面我们需要复制Proxy URL以便后边使用。我们可以安装包在这个server上,通过配置本地参数,添加实体/etc/apt/apt.conf.d/02proxy的 apt-cache。

Acquire::http { Proxy "http://192.168.0.2:3142"; };

docker官网的说明:

To get your Debian-based containers to use the proxy, you have following options. Note that you must replace dockerhost with the IP address or FQDN of the host running the test_apt_cacher_ng container.

  1. Add an apt Proxy setting echo 'Acquire::http { Proxy "http://dockerhost:3142"; };' >> /etc/apt/conf.d/01proxy

  2. Set an environment variable: http_proxy=http://dockerhost:3142/

  3. Change your sources.list entries to start with http://dockerhost:3142/

  4. Link Debian-based containers to the APT proxy container using --link

  5. Create a custom network of an APT proxy container with Debian-based containers.


6、创建客户端的docker 容器

1
docker run -- rm  -t -i -e http_proxy=http: //192 .168.0.2:3142/ debian  bash

这里也是可以使用dockerfile来指定

1
2
3
FROM ubuntu
RUN   echo  'Acquire::http { Proxy "http://192.168.0.2:3142"; };'  >>  /etc/apt/apt .conf.d /01proxy
RUN apt-get update && apt-get  install  -y vim git

链接容器到apt容器上

1
  docker run -i -t --link test_apt_cacher_ng:apt_proxy -e http_proxy=http: //apt_proxy :3142/ debian  bash

你也可以自己创建一个容器,然后进入到容器中,去手动配置

1
2
  vim  /etc/apt/apt .conf.d /02proxy  #在这个路径下创建文件
  Acquire::http { Proxy  "http://192.168.0.2:3142" ; };  #写入这条内容

7、测试:

到处我们服务端和客户端都安装完毕

1
2
3
4
root@ubuntu:~ /docker/apt-cache-ng # docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES
bd4e542edb39        debian               "bash"                    59 minutes ago      Up 59 minutes                                 peaceful_pike
f6fafb226c66        eg_apt_cache_ng      "/bin/sh -c 'chmod..."    About an hour ago   Up About an hour    0.0.0.0:13142->3142 /tcp    test_apt_cacher_ng

登录到客户端中,去更新几个包,或者安装几个包,然后再web上面可以看到缓存来多少个文件

wKiom1jbiEHj0jmLAAB_TOIoztc228.png-wh_50

这里你可以把安装包,卸载,然后再次安装,你会发现速度会非常快,而且web上面也会hits也会有变动来显示你是否从apt上下载




本文转自 kesungang 51CTO博客,原文链接:http://blog.51cto.com/sgk2011/1911515,如需转载请自行联系原作者

相关文章
|
7月前
|
Kubernetes 关系型数据库 文件存储
手把手教你完成极空间 NAS Docker 镜像加速配置
本教程详细介绍了如何在极空间NAS上配置轩辕镜像加速器,以提升Docker镜像的下载速度与稳定性。内容涵盖账号注册、网络确认、加速器设置及验证方法,并提供常见问题解决方案,帮助用户高效完成容器化应用部署。
2712 1
|
4月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
|
4月前
|
缓存 并行计算 监控
vLLM 性能优化实战:批处理、量化与缓存配置方案
本文深入解析vLLM高性能部署实践,揭秘如何通过continuous batching、PagedAttention与前缀缓存提升吞吐;详解批处理、量化、并发参数调优,助力实现高TPS与低延迟平衡,真正发挥vLLM生产级潜力。
987 0
vLLM 性能优化实战:批处理、量化与缓存配置方案
|
7月前
|
文件存储 数据安全/隐私保护 开发者
群晖NAS Docker镜像源加速配置教程
本教程介绍了群晖NAS用户如何通过配置轩辕镜像加速服务提升Docker镜像拉取速度。内容包括配置前准备、详细设置步骤及日常使用说明,帮助用户快速完成配置并享受高效稳定的镜像下载体验。
4697 60
|
5月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
863 5
|
Docker 容器 文件存储
飞牛fnOS Docker镜像加速配置全攻略
本文介绍了如何在飞牛fnOS中配置Docker镜像加速服务,通过设置轩辕镜像仓库加速器,提升镜像拉取速度与稳定性。内容涵盖配置前准备、加速源设置、首选加速源调整及使用指南,帮助用户高效完成镜像操作。
4810 56
|
6月前
|
缓存 NoSQL 数据库
Django缓存机制详解:从配置到实战应用
本文全面解析Django缓存技术,涵盖配置方法与六大缓存后端,结合实战场景演示四种典型应用方式,帮助开发者提升Web应用性能,应对高并发挑战。
207 0
|
7月前
|
缓存 NoSQL API
Django缓存机制详解:从配置到实战应用
本文介绍了 Django 缓存机制的基础知识与实战应用,涵盖缓存概念、Redis 安装配置、缓存策略及 API 使用,并通过 RBAC 权限系统演示缓存的读写与删除操作,助力提升 Web 应用性能。
190 0
|
9月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?