【Harbor】配置代理镜像加速

0. 目标

通过配置代理仓库,实现将公网上的镜像缓存到代理仓库中,实现镜像缓存的功能。

这样可以极大提高部署效率,实现内网私库部署。一定程度上保障了安全性,实现内网部署。

1. 服务器上配置项目和仓库

新建一个目标仓库,为了存放代理镜像。

步骤:【系统管理】-【仓库管理】-【新建目标】

配置完,点击测试连接。输入dockerhub注册的用户名和密码

 

在项目中,新建一个项目用于代理加速镜像

看到新项目后,新项目类型是镜像代理。至此服务器端的配置结束。

2. 客户端拉取代理镜像

在刚才创建的项目,点击【镜像仓库】。此时没有拉镜像,所有没有任何镜像仓库。

在客户端拉取相关镜像,拉镜像的时候此处有坑,要注意镜像名称。

避坑指南:关于镜像路径,有以下两种情况

  • 镜像没有仓库名。比如 hello-world:latest ,拉镜像的时候要加上 library
  • 镜像包含仓库名。比如 prom/prometheus:v2.10.0
# 原始镜像没有仓库名 加上library
docker pull xxx.xxx.xxx.xxx:xxxxx/dockerhub.io/library/hello-world:latest
# 原始镜像有原来得仓库名 ,不加library
docker pull xxx.xxx.xxx.xxx:xxxxx/dockerhub.io/prom/prometheus:v2.10.0

拉完之后,这时可以看到镜像已经缓存到了服务器的项目中了,下次下载不会走公网流量了。

### 如何配置Docker镜像代理服务器 #### 配置全局HTTP/HTTPS代理 为了使Docker能够通过代理服务器拉取镜像,在Linux环境中可以编辑`~/.bashrc`或`/etc/environment`文件,添加如下环境变量设置[^2]: ```sh export HTTP_PROXY=http://proxy.example.com:port/ export HTTPS_PROXY=https://proxy.example.com:port/ ``` 对于Windows和macOS系统,则可以在启动Docker Desktop时指定代理设置。 #### 修改Docker守护进程配置 另一种方式是在Docker主机上修改其守护程序配置文件(通常位于`/etc/docker/daemon.json`),加入代理参数。此方法适用于所有类型的代理连接需求,并且不需要每次运行容器都手动传递代理选项[^1]。 ```json { "proxies": { "default": { "httpProxy": "http://proxy.example.com:port", "httpsProxy": "https://proxy.example.com:port", "noProxy": "localhost,127.0.0.1" } }, "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com" ] } ``` 上述JSON片段不仅设置了默认使用的HTTP(S)代理地址,还指定了不应用代理的情况(`noProxy`)以及国内常用的几个官方推荐的镜像源作为加速器[^3]。 #### 使用Harbor私有仓库作为代理 如果企业内部希望部署自己的镜像分发中心,可以选择安装开源软件如[Harbor](https://goharbor.io/)来创建安全可靠的私有Registry实例。这不仅可以充当本地缓存节点减少对外网依赖,还可以进一步增强安全性控制措施[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值