1. 程式人生 > 其它 >Docker應用之利用Registry搭建自用映象加速器

Docker應用之利用Registry搭建自用映象加速器

  在Docker應用之利用Registry構建Docker私服 - 池塘裡洗澡的鴨子 - 部落格園 (cnblogs.com)中搭建的私有Registry只是一個本地的倉庫,只能拉取自己推送上去的映象。為了讓本地Registry發揮更大作用,可以在配置檔案中設定Docker Hub Mirror,也就是可以通過私有Registry來拉取Docker Hub的映象——利用這個功能可以搭建一個自己用的映象加速器。

  實操之前得先了解下Registry的配置檔案。Registry的配置檔案是一個YAML檔案,在配置檔案中定義的配置與啟動Registry時設定環境變數效果是一致的。具體看看這個配置檔案的內容,其預設路徑為Registry容器/etc/docker/registry下config.yml:

      

  該配置檔案具體內容詳解參考官網Configuring a registry | Docker Documentation。如何配置Mirror呢?通過配置引數proxy:

      

  上圖中username和password的值不是必須的,但是如果要訪問Docker Hub上的私有映象則必須要設定使用者賬號和密碼。

  實操中可以直接編輯容器中的config.yml,為了方便管理操作更適用使用掛載配置檔案的方式配置Registry,如下:

    docker run -itd -p 5000:5000 --restart=always --name docker-registry \

        -v /home/docker/data/registry:/var/lib/registry \

        -v `pwd`/config.yml:/etc/docker/registry/config.yml \

        registry

     

  需要注意在實操過程中可能會提示是否將資料夾掛載至檔案config.yml,導致這個錯誤的原因就是在宿主機中run之前沒有在本機上建立config.yml。所以實操run之前,執行docker cp docker-registry:/etc/docker/registry/config.yml /home/docker/etc/config.yml:

        

  修改該配置檔案增加proxy部分內容: