作者 | 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 在你的系統上執行,你就可以開啟終端並執行:
$ docker images
該命令將顯示當前系統上所有的 docker 映象。假設你想在本地機器上部署 Ubuntu,你可能會:
$ docker pull ubuntu
如果你的系統上已經存在 Ubuntu 映象,那麼該命令會自動將該系統更新到最新版本。因此,如果你想要更新現有的映象,只需執行 docker pull
命令,易如反掌。這就像 apt-get update
一樣,沒有任何的混亂和麻煩。
你已經知道瞭如何執行映象:
$ docker run -it <image name>
$ docker run -it ubuntu
命令提示符應該變為如下內容:
root@1b3ec4621737:/#
現在你可以執行任何屬於 Ubuntu 的命令和實用程式,這些都被包含在內而且安全。你可以在 Ubuntu 上執行你想要的所有實驗和測試。一旦你完成了測試,你就可以銷毀映象並下載一個新的。在虛擬機器中不存在系統開銷。
你可以透過執行 exit 命令退出該容器:
$ exit
現在假設你想在系統上安裝 Nginx,執行 search
命令來找到需要的映象:
$ docker search nginx
正如你所看到的,DockerHub 上有很多 Nginx 映象。為什麼?因為任何人都可以釋出映象,各種映象針對不同的專案進行了最佳化,因此你可以選擇合適的映象。你只需要為你的需求安裝合適的映象。
假設你想要拉取 Bitnami 的 Nginx 映象:
$ docker pull bitnami/nginx
現在執行:
$ docker run -it bitnami/nginx
如何釋出映象到 Docker Hub?
在此之前,我們學習瞭如何建立 Docker 映象[3],我們可以輕鬆地將該映象釋出到 DockerHub 中。首先,你需要登入 DockerHub,如果沒有賬戶,請 建立賬戶[4]。然後,你可以開啟終端應用,登入:
$ docker login --username=<USERNAME>
將 “” 替換為你自己的 Docker Hub 使用者名稱。我這裡是 arnieswap:
$ docker login --username=arnieswap
輸入密碼,你就登入了。現在執行 docker images
命令來獲取你上次建立的映象的 ID。
$ docker images
現在,假設你希望將映象 ng
推送到 DockerHub,首先,我們需要標記該映象(瞭解更多關於標記的資訊[1]):
$ docker tag e7083fd898c7 arnieswap/my_repo:testing
現在推送映象:
$ docker push arnieswap/my_repo
推送指向的是 docker.io/arnieswap/my_repo 倉庫:
12628b20827e: Pushed
8600ee70176b: Mounted from library/ubuntu
2bbb3cec611d: Mounted from library/ubuntu
d2bb1fc88136: Mounted from library/ubuntu
a6a01ad8b53f: Mounted from library/ubuntu
833649a3e04c: Mounted from library/ubuntu
testing: digest: sha256:286cb866f34a2aa85c9fd810ac2cedd87699c02731db1b8ca1cfad16ef17c146 size: 1569
哦耶!你的映象正在上傳。一旦完成,開啟 DockerHub,登入到你的賬戶,你就能看到你的第一個 Docker 映象。現在任何人都可以部署你的映象。這是開發軟體和釋出軟體最簡單,最快速的方式。無論你何時更新映象,使用者都可以簡單地執行:
$ 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中國 榮譽推出