如何使用 DockerHub
在前面的文章中,我們了解到了基本的 Docker 術語,在 Linux 桌面、MacOS 和 Windows上 如何安裝 Docker,如何創建容器鏡像 並且在系統上運行它們。在本系列的最後一篇文章中,我們將討論如何使用 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 鏡像,我們可以輕鬆地將該鏡像發布到 DockerHub 中。首先,你需要登錄 DockerHub,如果沒有賬戶,請 創建賬戶。然後,你可以打開終端應用,登錄:
$ docker login --username=<USERNAME>
將 「」 替換為你自己的 Docker Hub 用戶名。我這裡是 arnieswap:
$ docker login --username=arnieswap
輸入密碼,你就登錄了。現在運行 docker images
命令來獲取你上次創建的鏡像的 ID。
$ docker images
現在,假設你希望將鏡像 ng
推送到 DockerHub,首先,我們需要標記該鏡像(了解更多關於標記的信息):
$ 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 譯者:MjSeven 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive