Working with Docker Hub

Working with Docker Hub

到目前爲止咱們已經學習瞭如何使用命令行在主機上運行Docker。你已經學習瞭如何下載鏡像,如何從已經存在的鏡像運行容器,以及如何建立你本身的鏡像。git

下一步,你將學習如何使用Docker Hub來簡化和增強你的Docker工做流。github

Docker Hub是由Docker公司維護的公共註冊倉庫。你能夠利用它:web

  • 下載超過15000的鏡像來構建容器docker

  • 身份驗證、工做組織結構以及像webhookstrigger這樣的工做流工具centos

  • 一些私人工具,好比私人倉庫用來存放你不想和他人分享的鏡像負載均衡

Docker commands and Docker Hub

Docker自己提供了一些命令用於獲取Docker Hub服務:ide

  • docker login工具

  • docker search學習

  • docker pullui

  • docker push

Account creation and login

要想使用Docker Hub的服務,首先要有Docker Hub的帳號而且登陸。你能夠在Docker Hub上註冊或者經過命令:

docker login

這條命令後會提示輸入用戶名,會成爲你公共倉庫的共有命名空間,若是已經有了用戶名,Docker會提示你輸入密碼和郵箱,而後自動登陸。登陸成功後你就能夠向Docker Hub上本身的倉庫中推送本身的鏡像了。

注意:你的身份驗證信息會被存在用戶目錄的.dockercfg認證文件中

Searching for images

咱們能夠經過Docker本身的search接口或者是命令行中的接口來查找Docker Hub中的鏡像。關鍵字能夠是鏡像名,用戶名甚至是鏡像的描述信息。

$ sudo docker search centos
NAME           DESCRIPTION                                     STARS     OFFICIAL   TRUSTED
centos         Official CentOS 6 Image as of 12 April 2014     88
tianon/centos  CentOS 5 and 6, created using rinse instea...   21
...

其中有兩個結果:centostianon/centos。第二個tianon/centos表示它來自於一位叫tianon的用戶的倉庫。第一個結果沒有顯示列出倉庫則意味着它是受信任的官方頂級名稱空間存儲庫。/將倉庫名和鏡像名分割開。

找到鏡像後pull下載鏡像

docker pull [imagename]

Contributing to Docker Hub

任何人均可以從Docker Hub下載鏡像,可是若是你想向Docker Hub推送鏡像,首先要註冊

Pushing a repository to Docker Hub

爲了將倉庫推送到register中,你須要已經命名的鏡像或者把你的容器保存爲命名的鏡像,詳情見這裏

docker push yourname/newimage

Features of Docker Hub

如今咱們就來看看Docker Hub有哪些特性,更多信息見這裏

  • 私人倉庫

  • 組織和團隊

  • 自動構建

  • webhooks

Private Repositories

若是你有鏡像不想公開或和他人分享,Docker容許你擁有本身的私人倉庫

Organizations and teams

私人倉庫的一個好處是你能夠把裏裏面的鏡像分享給組織或團隊裏的人。Docker Hub容許你建立本身的組織,在組織裏你能夠和同伴一塊兒工做,以及管理本身的倉庫。詳情見這裏

Automated Builds

自動構建和更新github和bitbuckets中的鏡像,這些工做直接在Docker Hub中進行(不是本地)。它的工做方式是這樣的:在你選中的github或bitbucket中添加hook,當你更新倉庫時會觸發構建和更新操做。

自動構建的步驟:

  • 建立帳號並登陸

  • 鏈接github或bitbucket的帳號

  • 配置自動構建的選項

  • 選中github或bitbucket中帶有Dockerfile的項目

  • 選擇分支

  • 命名

  • 分配可選的Docker標籤

  • 指定Dockerfile文件的位置,默認是/目錄

Automated Builds page查看本身自動構建的項目

不能對自動構建的倉庫使用docker push命令。只能經過向github或bitbucket更新代碼來管理本身的鏡像。

你也可用爲同一個項目的不一樣分支建立多個自動構建的項目。

Webhooks

webhooks附着到你的倉庫而且在你更新鏡像或者push操做時觸發事件。經過webhook,push鏡像時,你能夠指定一個目標URL或者JSON負載均衡。

相關文章
相關標籤/搜索