1. 程式人生 > >學習Docker(2017-10-6)

學習Docker(2017-10-6)

本節目錄:
1. 訪問倉庫
- Docker Hub
- 私有倉庫
- 倉庫配置檔案

訪問倉庫

倉庫是集中存放映象的地方。Registry 註冊伺服器是管理倉庫的具體伺服器,每個伺服器上面有很多個倉庫,每個倉庫對應有許多映象。從這方面來說,倉庫可以被認為是一個具體的專案或者目錄。需要我們對註冊伺服器做區分。

Docker Hub

Docker Hub 是官方維護的公共倉庫 Docker Hub ,其中已經包括了超過 15,000 的映象。大部分都可以從 Docker Hub 中下載映象來實現。

登入

基本操作

使用者無需登入即可通過在 docker search

查詢官方倉庫中的映象,docker pull來下載到本地

例項:

docker search centos


docker search + 搜尋的關鍵詞,其中我們可以看出,搜尋出來的欄位,包括映象名稱,描述,星級,是否官方建立、是否自動建立。
1. 名稱:一般官方建立、維護、支援的映象都是單個單詞作為名字。使用者建立的映象一般名稱格式 username/
2. 描述:對映象的說明
3. 星級:表示該使用者的受歡迎程度

-s N 引數可以在查詢中指定顯示 N 星以上的映象(新版本推薦filter=starts=N 引數)

方式 1:

方式 2:

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

自動建立
Automated Builds 自動建立功能對於需要經常升級映象的程式來說,十分方便。自動建立允許使用者通過 Docker Hub 指定跟蹤一個目標網站(支援 GitHub 和 BitBucket )上的專案,一旦專案發生新的提交,則自動執行建立。

操作:
1. 登入 Docker Hub ,以及目標網站;
2. 在目標網站中連線到 Docker Hub;
3. Docker Hub 中配置一個自動建立

  1. 選取一個目標網站中的專案(需要含 Dockerfile)
    和分支; 指定 Dockerfile 的位置,並提交建立
  2. 在 Docker Hub 自動建立頁面跟蹤每次建立的狀態

私有倉庫

有時候使用 Docker Hub 不方便,使用者可以建立一個本地倉庫供私人使用。
docker-registry 是官方提供的工具,可以用於構建私有的映象倉庫

安裝執行docker-registry

容器執行

docker run -d -p 5000:5000 registry

使用官方的 registry 映象來啟動本地的私有倉庫

預設情況下,倉庫會被建立在容器的 /var/lib/registry 下。可以通過 -v 引數來將映象檔案存放在本地的指定路徑。下面將上傳的映象放到 /opt/data/registry 目錄

docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry

在私有倉庫上傳、下載、搜尋映象

建立好私有倉庫之後,就可以使用 docker tag 來標記一個映象,然後推送到倉庫裡,別的機器就可以下載

  1. docker images 檢視已有的映象
  2. docker tag 將 deal194 標記為 127.0.0.1:5000/test

(格式:docker tag images[:tag][registryhost/][username/name[:tag])

  • docker push 127.0.0.1:5000/test 使用 push 上傳標記的映象

  • curl 檢視倉庫中的映象

倉庫配置檔案

Docker 的 Registry 利用配置檔案提供了一些倉庫的模板,使用者直接使用它們來進行開發或生產部署

模板
在 config_sample.yml 檔案中,可以看到一些模板段:

common :基礎配置
local :儲存資料到本地檔案系統
s3 :儲存資料到 AWS S3 中
dev :使用 local 模板的基本配置
test :單元測試使用
prod :生產環境配置(基本上跟s3配置類似)
gcs :儲存資料到 Google 的雲端儲存
swift :儲存資料到 OpenStack Swift 服務
glance :儲存資料到 OpenStack Glance 服務,本地檔案系統為後備
glance-swift :儲存資料到 OpenStack Glance 服務,Swift 為後備
elliptics :儲存資料到 Elliptics key/value 儲存

使用者也可以新增自定義的模板段: