倉庫(Repository)是集中存放鏡像的地方。一個容易與之混淆的概念是註冊服務器(Registry)。實際上註冊服務器是存放倉庫的具體服務器,每一個服務器上能夠有多個倉庫,而每一個倉庫下面有多個鏡像。從這方面來講,倉庫能夠被認爲是一個具體的項目或目錄。例如對於倉庫地址dl.docker-pool.com/ubuntu來講,dl.dockerpool.com是註冊服務器地址,ubuntu是倉庫名。倉庫又分公共倉庫和私有倉庫,在本章筆者將分別展現如何使用DockerHub官方倉庫進行登陸、下載等基本操做,以及使用DockerPool社區提供的倉庫下載鏡像;最後還將介紹建立和使用私有倉庫的基本操做。docker
Docker Hubshell
目前Docker官方維護了一個公共倉庫https://hub.docker.com,其中已經包括15000多個的鏡像。ubuntu
登錄centos
docker login 運來用來完成註冊登錄,註冊成功後,本地用戶目錄的.dockercfg中將保存用戶的認證信息服務器
根據是否爲官方提供,可將這些鏡像資源分爲兩類。一種是相似centos這樣的基礎鏡像,稱爲基礎或根鏡像。這些鏡像是由Docker公司建立、驗證、支持、提供。這樣的鏡像每每使用單個單詞做爲名字。還有一種類型,好比tianon/centos鏡像,它是由Docker-Hub的用戶tianon建立並維護的,帶有用戶名稱爲前綴,代表是某用戶的某倉庫。能夠經過用戶名稱前綴user_name/來指定使用某個用戶提供的鏡像,好比tianon用戶的鏡像前綴爲tianon/。網站
自動建立ui
自動建立(Automated Builds)功能對於須要常常升級鏡像內程序來講十分方便。有時候,用戶建立了鏡像,安裝了某個軟件,若是軟件發佈新版本則須要手動更新鏡像。能夠在Docker Hub網站上登錄帳號後設置。spa
使用registry鏡像建立私有倉庫code
能夠經過官方提供的registry鏡像來簡單搭建一套本地私有倉庫:資源
sudo docker run -d -p 5000:5000 registry
默認狀況下會將倉庫建立在容器的/tmp/registry目錄下,能夠經過-v參數將鏡像翁家存放在指定的本地路徑上,如:
sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
以後就能夠經過tag命令以及push|pull命令在本地上傳下載鏡像了