前言

这两天想试试飞致云的crm系统,于是想用Docker部署一个玩玩,但是发现以前的加速站都不好用了,网上的方案五花八门,今天分享一个稳定、可靠的可以拉取到dockerhub最新镜像的方案。

准备

一台可以访问到dockerhub的服务器,我使用的是腾讯云的东京服务器。

服务器安装1panel面板。

开始部署

安装1panel

1panel可以通过官方部署脚本一键部署

bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"

安装openresty

安装openresty,用作部署网站,反向代理,使得镜像站支持域名访问。

安装openresty.png

保持默认配置安装即可

安装docker registry

Docker Registry 是一个开源的镜像仓库,用于存储和管理 Docker 镜像。它允许您在 Linux 服务器上创建私有的 Docker 镜像仓库,以便团队成员共享和访问镜像。

docker registry.png

这里需要注意,点击编辑compose文件,我们需要自定义一些参数才可以使用。

编辑compose.png

增加环境变量,填写上游镜像源,这样就可以在此私有仓库没有相关镜像时自动去上游拉取并缓存,实现镜像加速的目的,可复制以下代码:

services:
  docker-registry:
    image: registry:3.0.0
    restart: always
    container_name: ${CONTAINER_NAME}
    ports:
      - ${PANEL_APP_PORT_HTTP}:5000
    networks:
      - 1panel-network
    volumes:
      - ./data:/var/lib/registry
    labels:
      createdBy: "Apps"
    environment:
      REGISTRY_PROXY_REMOTEURL: https://registry-1.docker.io  # 上游镜像源,填写docker官方源
networks:
  1panel-network:
    external: true

openresty反向代理

首先申请一个自签证书,可参考以下教程:

https://iweekyi.net/archives/zai-1panelyun-wei-mian-ban-zhong-shen-qing-mian-fei-sslzheng-shu-bing-she-zhi-zi-dong-xu-qi

在【网站】点击创建创建网站,创建反向代理,其中反向代理地址填写刚才创建docker registry的端口地址

反向代理.png

根据申请的证书选择好HTTPS访问

证书.png

访问测试

访问:域名/v2/_catalog

出现如下图即成功了,表示没有镜像,通过此镜像地址拉取后,[ ]中将出现镜像名称。

访问测试.png

使用加速

在需要加速的服务器上添加加速链接:【刚才配置的域名】

加速.png

pull一个镜像试一下:

image-rIVN.png

没问题,加速成功!