项目作者: tomwei7

项目描述 :
docker-registry proxy run in cloudflare workers
高级语言: TypeScript
项目地址: git://github.com/tomwei7/hammal.git
创建时间: 2021-04-12T15:45:08Z
项目社区:https://github.com/tomwei7/hammal

开源协议:

下载


hammal

Hammal 是运行于 cloudflare workers 上的 Docker 镜像加速工具,用于解决获取 Docker 官方镜像速度缓慢以及完全无法获取 k8s.gcr.io 上镜像的问题。

食用方式

首先安装 wrangler 命令行工具 https://developers.cloudflare.com/workers/cli-wrangler/install-update

  1. git clone https://github.com/tomwei7/hammal.git
  2. cd hammal
  3. mv wrangler.toml.sample wrangler.toml
  4. # 获取 account_id id
  5. wrangler whoami
  6. # 创建 KV namespace
  7. wrangler kv:namespace create hammal_cache

修改 wrangler.toml 文件填充 account_id 与 kv_namespaces 中的 id

  1. name = "hammal"
  2. type = "webpack"
  3. account_id = "your account_id"
  4. workers_dev = true
  5. route = ""
  6. zone_id = ""
  7. webpack_config = "webpack.config.js"
  8. kv_namespaces = [
  9. { binding = "HAMMAL_CACHE", id = "you kv id" }
  10. ]

发布 workers

  1. wrangler publish

发布 workers 可以获得类似 https://hammal.{your_name}.workers.dev 的地址,修改 registry-mirrors 地址为该地址即可

  1. <<EOF sudo tee /etc/docker/daemon.json
  2. {
  3. "registry-mirrors": [
  4. "https://hammal.{your_name}.workers.dev"
  5. ]
  6. }
  7. EOF

获取其他镜像源镜像

目前 hammal 支持获取 k8s.gcr.io, gcr.io, quay.io 的镜像,可以通过修改 handler.ts 中的 ORG_NAME_BACKEND 添加

  1. # 拉取 k8s.gcr.io 镜像
  2. docker pull hammal.{your_name}.workers.dev/k8sgcr/kubernetes-dashboard-amd64:v1.8.3
  3. # 拉取 gcr.io 镜像
  4. docker pull hammal.{your_name}.workers.dev/gcr/youlib/image:tags
  5. # 拉取 quay.io 镜像
  6. docker pull hammal.{your_name}.workers.dev/quay/coreos/flannel:v0.13.1-rc2

TODO

  • 私有仓库支持
  • manifests/blob cache