Docker學習總結之docker創建私有倉庫(private Repositories)


Docker 創建 Private Repositories

 

  前言

    基於GFW的緣故,國內大陸基本無法pull國外的鏡像,更別說官方的index了。如果images無法pull下來,那么docker就失去了存在的意義,就更別提國內廣大程序猿為docker而獻身奮斗了。所以基於此,筆者認為有必要國內用戶自行搭建一個Private Repositories。一方面為了更好的研究,使用Docker。另一方面也是為了節省pull和push的時間,要不然動不動就是幾十分鍾的耗時,誰能承擔起這些時間成本。最后一點,也是為了可以更好的管理images,畢竟國內很過公司出於各種目的還是不希望公開這些images。

    所以基於此,創建一個Private Repository就顯得尤為必要了。

  步驟

  方法一:

    最簡單的方法莫過於直接pull下來,docker官網提供的registry鏡像了。但是需要說明的是官網目前提供的最新版本不穩定,有bug(筆者目前看到的最新版本為0.8.1,所有版本可以在https://registry.hub.docker.com/_/registry/tags/manage/查看)。而且下面各國網友也反映了,0.8.1的確存在問題。因此,筆者經過多次評測,選取了最穩定的0.7.1版本。

    執行以下命令既可完成private repository的創建:

docker run -d -p 5000:5000 --name registry registry:0.7.1

  方法二:

    使用git上面的源碼進行創建。

    首先登陸到docker在git上面的源碼頁面,https://registry.hub.docker.com/_/registry/ 。

    因為目前最新的0.8.1版本存在bug,因此我們需要tag為0.7.1的版本。在頁面上部選擇tag 0.7.1即可。

    考慮到國內的網速,所以建議直接下載zip壓縮包。在頁面右側,選擇Download ZIP。把0.7.1版本下載下來。

    將ZIP壓縮包上傳到服務器(推薦使用Ubuntu),解壓后即為Docker 源碼。

    我們下面的步驟是安裝registry到本地服務器上,你也可以選擇將source build成image,然后執行image。

    安裝registry到本地服務器的步驟:

    Install the system requirements for building a Python library:

sudo apt-get install build-essential python-dev libevent-dev python-pip liblzma-dev

    Then install the Registry app:

sudo pip install docker-registry

    等待安裝完成后,執行命令開始運行registry:

gunicorn --access-logfile - --debug -k gevent -b 0.0.0.0:5000 -w 1 docker_registry.wsgi:application

  方法三:

    同樣基於git的源碼,我們build成image,然后執行這個image。

    在docker_registry目錄里面:

docker build -t registry .

    build執行完之后,同樣執行:

docker run -d -p 5000:5000 registry

  總結

    方法一和方法三,均需要download 國外的一些images,因此國內的使用存在局限性。而方法二,完全不依賴國外數據,但需要一些docker操作基礎和git操作基礎。

    大家在使用時,就需要考慮實際情況來選擇安裝方式了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM