這是本文件的舊版!


建立與設定 DockerHub Proxy

  1. 建立 config.yml

    mkdir -p config
    vi config/config.yml

    version: 0.1
    log:
      fields:
        service: registry
    storage:
      cache:
        blobdescriptor: inmemory
      filesystem:
        rootdirectory: /var/lib/registry
    http:
      addr: :5000
      headers:
        X-Content-Type-Options: [nosniff]
    proxy:
      remoteurl: https://registry-1.docker.io
      #username: [您的 Docker Hub 使用者名稱,可選]
      #password: [您的 Docker Hub 密碼或 Access Token,可選]
  2. 建立 image 存放路徑

    mkdir -p data

  3. 啟動服務

    docker run -d \
      -p 5000:5000 \
      --restart=always \
      --name docker-registry-proxy \
      -v $(pwd)/config:/etc/docker/registry \
      -v $(pwd)/data:/var/lib/registry \
      registry:2

  4. 查看 log

    docker logs docker-registry-proxy

  5. 測試服務

    curl -I http://localhost:5000/v2/

    • 應該可以看到類似以下的訊息

      dockerhub-184:~# curl -I http://localhost:5000/v2/
      HTTP/1.1 200 OK
      Content-Length: 2
      Content-Type: application/json; charset=utf-8
      Docker-Distribution-Api-Version: registry/2.0
      X-Content-Type-Options: nosniff
      Date: Mon, 09 Jun 2025 09:43:05 GMT

  • Exp. registry:2 服務安裝在 192.168.11.184
  1. 編輯 /etc/docker/daemon.json
    {
      "registry-mirrors": [
        "http://192.168.11.184:5000"
      ],
      "insecure-registries": [
        "192.168.11.184:5000"
      ]
    }
  2. 重啟 docker

    service docker restart

  3. 確認設定是否生效

    docker info

    • 看執行內容是否出現 http://192.168.11.184:5000
  4. 執行 docker pull 驗證

    docker pull alpine

  5. 如果成功 pull image, 可以回到 registry:2 服務主機 Exp. 192.168.11.184 查看 data/docker/registry/v2/repositories/ 內是否出現 alpine
    • 看 tree data/docker/registry/v2/repositories/ 的目錄結構
  • 先參考 harbor_docker 建立 Harbor 服務
  • 在 系統管理 → Registry管理 → 新增端點 Exp. dockerhub
    • 提供者 : Docker Hub
    • 端點名稱 : dockerhub
    • 端點 URL : https://hub.docker.com (選 Docker Hub 會自動顯示這 URL)
  • 測試連線 如果正常就可以 儲存
  • tech/dockerhubproxy.1749527760.txt.gz
  • 上一次變更: 2025/06/10 11:56
  • jonathan