Docker 建立 Private Repositories

 

 

  前言python

    基於GFW的緣故,國內大陸基本沒法pull國外的鏡像,更別說官方的index了。若是images沒法pull下來,那麼docker就失去了存在的意義,就更別提國內廣大程序猿爲docker而獻身奮鬥了。因此基於此,筆者認爲有必要國內用戶自行搭建一個Private Repositories。一方面爲了更好的研究,使用Docker。另外一方面也是爲了節省pull和push的時間,要否則動不動就是幾十分鐘的耗時,誰能承擔起這些時間成本。最後一點,也是爲了能夠更好的管理images,畢竟國內很過公司出於各類目的仍是不但願公開這些images。git

    因此基於此,建立一個Private Repository就顯得尤其必要了。docker

  步驟服務器

  方法一:app

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

    執行如下命令既可完成private repository的建立:debug

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

  方法二:ip

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

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

    由於目前最新的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操做基礎。

    你們在使用時,就須要考慮實際狀況來選擇安裝方式了。

相關文章
相關標籤/搜索