歡迎光臨
每天分享高質量文章

如何使用 DockerHub | Linux 中國

在這個 Docker 系列的最後一篇文章中,我們將講述在 DockerHub 上使用和發佈鏡像。
— Swapnil Bhartiya


致謝
編譯自 | https://www.linux.com/blog/learn/intro-to-linux/2018/1/how-use-dockerhub 
 作者 | Swapnil Bhartiya
 譯者 | MjSeven ? ? ? 共計翻譯:27 篇 貢獻時間:77 天

在這個 Docker 系列的最後一篇文章中,我們將講述在 DockerHub 上使用和發佈鏡像。

在前面的文章中,我們瞭解到了基本的 Docker 術語[1],在 Linux 桌面、MacOS 和 Windows上 如何安裝 Docker[2]如何創建容器鏡像[3] 並且在系統上運行它們。在本系列的最後一篇文章中,我們將討論如何使用 DockerHub 中的鏡像以及將自己的鏡像發佈到 DockerHub。

首先:什麼是 DockerHub 以及為什麼它很重要?DockerHub 是一個由 Docker 公司運行和管理的基於雲的儲存庫。它是一個在線儲存庫,Docker 鏡像可以由其他用戶發佈和使用。有兩種庫:公共儲存庫和私有儲存庫。如果你是一家公司,你可以在你自己的組織內擁有一個私有儲存庫,而公共鏡像可以被任何人使用。

你也可以使用公開發佈的官方 Docker 鏡像。我使用了很多這樣的鏡像,包括我的試驗 WordPress 環境、KDE plasma 應用程式等等。雖然我們上次學習瞭如何創建自己的 Docker 鏡像,但你不必這樣做。DockerHub 上發佈了數千鏡像供你使用。DockerHub 作為預設儲存庫硬編碼到 Docker 中,所以當你對任何鏡像運行 docker pull 命令時,它將從 DockerHub 下載。

從 Docker Hub 下載鏡像併在本地運行

開始請查看本系列的前幾篇文章,以便繼續。然後,一旦 Docker 在你的系統上運行,你就可以打開終端並運行:

  1. $ docker images

該命令將顯示當前系統上所有的 docker 鏡像。假設你想在本地機器上部署 Ubuntu,你可能會:

  1. $ docker pull ubuntu

如果你的系統上已經存在 Ubuntu 鏡像,那麼該命令會自動將該系統更新到最新版本。因此,如果你想要更新現有的鏡像,只需運行 docker pull 命令,易如反掌。這就像 apt-get update 一樣,沒有任何的混亂和麻煩。

你已經知道瞭如何運行鏡像:

  1. $ docker run -it <image name>

  2. $ docker run -it ubuntu

命令提示符應該變為如下內容:

  1. [email protected]:/#

現在你可以運行任何屬於 Ubuntu 的命令和實用程式,這些都被包含在內而且安全。你可以在 Ubuntu 上運行你想要的所有實驗和測試。一旦你完成了測試,你就可以銷毀鏡像並下載一個新的。在虛擬機中不存在系統開銷。

你可以通過運行 exit 命令退出該容器:

  1. $ exit

現在假設你想在系統上安裝 Nginx,運行 search 命令來找到需要的鏡像:

  1. $ docker search nginx

正如你所看到的,DockerHub 上有很多 Nginx 鏡像。為什麼?因為任何人都可以發佈鏡像,各種鏡像針對不同的專案進行了優化,因此你可以選擇合適的鏡像。你只需要為你的需求安裝合適的鏡像。

假設你想要拉取 Bitnami 的 Nginx 鏡像:

  1. $ docker pull bitnami/nginx

現在運行:

  1. $ docker run -it bitnami/nginx

如何發佈鏡像到 Docker Hub?

在此之前,我們學習瞭如何創建 Docker 鏡像[3],我們可以輕鬆地將該鏡像發佈到 DockerHub 中。首先,你需要登錄 DockerHub,如果沒有賬戶,請 創建賬戶[4]。然後,你可以打開終端應用,登錄:

  1. $ docker login --username=<USERNAME>

將 “” 替換為你自己的 Docker Hub 用戶名。我這裡是 arnieswap:

  1. $ docker login --username=arnieswap

輸入密碼,你就登錄了。現在運行 docker images 命令來獲取你上次創建的鏡像的 ID。

  1. $ docker images

現在,假設你希望將鏡像 ng 推送到 DockerHub,首先,我們需要標記該鏡像(瞭解更多關於標記的信息[1]):

  1. $ docker tag e7083fd898c7 arnieswap/my_repo:testing

現在推送鏡像:

  1. $ docker push arnieswap/my_repo

推送指向的是 docker.io/arnieswap/my_repo 倉庫:

  1. 12628b20827e: Pushed

  2. 8600ee70176b: Mounted from library/ubuntu

  3. 2bbb3cec611d: Mounted from library/ubuntu

  4. d2bb1fc88136: Mounted from library/ubuntu

  5. a6a01ad8b53f: Mounted from library/ubuntu

  6. 833649a3e04c: Mounted from library/ubuntu

  7. testing: digest: sha256:286cb866f34a2aa85c9fd810ac2cedd87699c02731db1b8ca1cfad16ef17c146 size: 1569

哦耶!你的鏡像正在上傳。一旦完成,打開 DockerHub,登錄到你的賬戶,你就能看到你的第一個 Docker 鏡像。現在任何人都可以部署你的鏡像。這是開發軟體和發佈軟體最簡單,最快速的方式。無論你何時更新鏡像,用戶都可以簡單地運行:

  1. $ docker run arnieswap/my_repo

現在你知道為什麼人們喜歡 Docker 容器了。它解決了傳統工作負載所面臨的許多問題,並允許你在任何時候開發、測試和部署應用程式。通過遵循本系列中的步驟,你自己可以嘗試以下。


via: https://www.linux.com/blog/learn/intro-to-linux/2018/1/how-use-dockerhub

作者:Swapnil Bhartiya[6] 譯者:MjSeven 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

赞(0)

分享創造快樂