前言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操做基礎。
你們在使用時,就須要考慮實際狀況來選擇安裝方式了。