紅聯Linux門戶
Linux幫助

DockerHub的用法

發布時間:2018-04-16 14:32:56來源:未知作者:hl
在前面的文章中,我們了解到了基本的 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
命令提示符應該變為如下內容:
 
[email protected]:/#
現在你可以運行任何屬于 Ubuntu 的命令和實用程序,這些都被包含在內而且安全。你可以在 Ubuntu 上運行你想要的所有實驗和測試。一旦你完成了測試,你就可以銷毀鏡像并下載一個新的。在虛擬機中不存在系統開銷。
 
你可以通過運行 exit 命令退出該容器:
 
$ exit
現在假設你想在系統上安裝 Nginx,運行 search 命令來找到需要的鏡像:
 
$ docker search nginx
DockerHub的用法
 
正如你所看到的,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
DockerHub的用法
 
現在,假設你希望將鏡像 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 容器了。它解決了傳統工作負載所面臨的許多問題,并允許你在任何時候開發、測試和部署應用程序。通過遵循本系列中的步驟,你自己可以嘗試以下。
601268股票行情中心