1. 程式人生 > Docker入門教學 >Docker 映象倉庫

Docker 映象倉庫

這節介紹映象倉庫的使用。目前 Docker 官方維護了一個公共倉庫 Docker Hub,大部分需求都可以通過在 Docker Hub 中直接下載映象來實現:

1. 登入登出

如果沒有賬號,我們需要在 Docker Hub 上免費註冊一個 Docker 賬號。儲存好賬號密碼,進入 Linux 環境,輸入:

docker login

然後輸入賬號密碼登入。
圖片描述

使用 docker logout 可以登出賬號。

2. 搜尋映象

我們可以用 docker search 這個命令搜尋 Docker Hub 中的映象。
比如我們搜尋一下redis的映象

docker search redis

圖片描述

可以看到返回了很多包含 redis

關鍵字的資訊,返回的資訊中從左到右依次是:
映象名字、描述、star關注數、是否官方建立、是否自動建立。

根據是否是官方提供,可將映象資源分為兩類:

  • 一種是類似 centos 這樣的映象,被稱為基礎映象或根映象。這些基礎映象由 Docker 公司建立、驗證、支援、提供。這樣的映象往往使用單個單詞作為名字;

  • 還有一種型別,比如 bitnami/redis映象,它是由 Docker 的使用者bitnami建立並維護的,因此帶有使用者名稱稱字首。可以通過字首 username/ 來指定使用某個使用者提供的映象。

通常我們更青睞官方構建的映象。

3. 下載映象

我們演示一下如何下載 redis 映象:

docker pull redis

預設會拉取 latest 版本,如果要指定版本,需要在映象後標記版本,如 dockre pull redis:3.2
執行這個命令docker pull redis後,Docker 就會開始從映象倉庫中拉取我們所指定的映象了。

圖片描述

如上圖所示,redis 的映象已經被下載成功了。

在控制檯中,我們可以看到映象拉取的進度。 下載進度會分為幾行,每一行代表的就是一個映象層。 Docker 首先會拉取映象所基於的所有映象層,之後再單獨拉取每一個映象層並組合成這個映象。如果在本地已經存在相同的映象層,那麼 Docker 就直接略過這個映象層的拉取而直接採用本地的內容。

映象在被拉取之後就存放到了本地,接受 Docker 管理,我們可以通過 docker images 命令看到它們。
圖片描述

4. 刪除映象

刪除映象的命令是 docker image rm,引數是映象的名稱或 ID
使用命令docker image rm redis:latest可以刪除剛才拉取的 redis 映象,同時Docker 會自動刪掉無用、沒有依賴的映象層。

5. 小結

由於容器映象的操作是增量式的,這樣每次映象拉取的內容,比原本多個完整的作業系統的小很多。這樣就使得基於容器映象的團隊協作更加便捷。更重要的是,一旦這個映象被髮布,那麼你可以任意獲取這個映象,可以完全復現這個映象的完整環境。