什麼是登錄檔?

解釋

既然您知道了什麼是容器映象以及它的工作原理,您可能想知道 - 您在哪裡儲存這些映象?

嗯,您可以將容器映象儲存在您的計算機系統上,但如果您想與朋友分享它們或在另一臺機器上使用它們怎麼辦?這就是映象登錄檔發揮作用的地方。

映象登錄檔是用於儲存和共享您的容器映象的集中位置。它可以是公共的也可以是私有的。Docker Hub 是一個任何人都可以使用的公共登錄檔,也是預設的登錄檔。

雖然 Docker Hub 是一個流行的選擇,但今天還有許多其他可用的容器登錄檔,包括 Amazon Elastic Container Registry(ECR), Azure Container Registry (ACR), 以及 Google Container Registry (GCR)。您甚至可以在本地系統或組織內部執行您的私有登錄檔。例如,Harbor、JFrog Artifactory、GitLab Container registry 等。

登錄檔與倉庫

在使用登錄檔時,您可能會聽到登錄檔倉庫這兩個詞,就好像它們是可互換的。雖然它們是相關的,但並不完全相同。

登錄檔是儲存和管理容器映象的集中位置,而倉庫是登錄檔中相關容器映象的集合。可以將其想象成一個資料夾,您根據專案對映象進行組織。每個倉庫包含一個或多個容器映象。

下圖顯示了登錄檔、倉庫和映象之間的關係。

IIIIImmmmmaaaaagggggeeeeeR::R:::eeRpppppppeorrorrrgsoosoooiijjijjjsteeteeetoccocccrrttrtttyy--y---aabbbA::B:::vvvvv12112.....00010

注意

使用 Docker Hub 的免費版本,您可以建立一個私有倉庫和無限個公共倉庫。有關更多資訊,請訪問 Docker Hub 訂閱頁面

試一試

在本動手操作中,您將學習如何構建 Docker 映象並將其推送到 Docker Hub 倉庫。

註冊免費的 Docker 賬戶

  1. 如果您還沒有建立,請前往 Docker Hub 頁面註冊一個新的 Docker 賬戶。

    Screenshot of the official Docker Hub page showing the Sign up page

    您可以使用您的 Google 或 GitHub 賬戶進行身份驗證。

建立您的第一個倉庫

  1. 登入 Docker Hub

  2. 選擇右上角的建立倉庫按鈕。

  3. 選擇您的名稱空間(很可能是您的使用者名稱),並將docker-quickstart 作為倉庫名稱輸入。

    Screenshot of the Docker Hub page that shows how to create a public repository
  4. 將可見性設定為公開

  5. 選擇建立按鈕建立倉庫。

就這樣,您已成功建立了您的第一個倉庫。🎉

這個倉庫現在是空的。您現在將透過向其推送映象來解決這個問題。

使用 Docker Desktop 登入

  1. 下載並安裝 Docker Desktop(如果尚未安裝)。
  2. 在 Docker Desktop GUI 中,選擇右上角的登入按鈕

克隆 Node.js 示例程式碼

要建立映象,您首先需要一個專案。為了讓您快速入門,您將使用位於 github.com/dockersamples/helloworld-demo-node 的示例 Node.js 專案。此倉庫包含構建 Docker 映象所需的預構建 Dockerfile。

不用擔心 Dockerfile 的細節,因為您將在後面的部分中學習這些內容。

  1. 使用以下命令克隆 GitHub 倉庫

    git clone https://github.com/dockersamples/helloworld-demo-node
    
  2. 導航到新建立的目錄。

    cd helloworld-demo-node
    
  3. 執行以下命令構建 Docker 映象,將YOUR_DOCKER_USERNAME 替換為您的使用者名稱。

    docker build -t <YOUR_DOCKER_USERNAME>/docker-quickstart .
    

    注意

    確保在docker build 命令的末尾包含點(.)。這告訴 Docker 在哪裡查詢 Dockerfile。

  4. 執行以下命令列出新建立的 Docker 映象

    docker images
    

    您將看到類似於以下內容的輸出

    REPOSITORY                                 TAG       IMAGE ID       CREATED         SIZE
    <YOUR_DOCKER_USERNAME>/docker-quickstart   latest    476de364f70e   2 minutes ago   170MB
    
  5. 透過執行以下命令啟動容器來測試映象(將使用者名稱替換為您的使用者名稱)

    docker run -d -p 8080:8080 <YOUR_DOCKER_USERNAME>/docker-quickstart 
    

    您可以透過在瀏覽器中訪問 https://:8080docker tag 命令標記 Docker 映象。Docker 標籤允許您對映象進行標記和版本控制。

    docker tag <YOUR_DOCKER_USERNAME>/docker-quickstart <YOUR_DOCKER_USERNAME>/docker-quickstart:1.0 
    
  6. 最後,使用 docker push 命令將新構建的映象推送到您的 Docker Hub 倉庫。

    docker push <YOUR_DOCKER_USERNAME>/docker-quickstart:1.0
    
  7. 開啟 Docker Hub 並導航到您的倉庫。導航到**標籤**部分,檢視您新推送的映象。

    Screenshot of the Docker Hub page that displays the newly added image tag

在本教程中,您註冊了 Docker 帳戶,建立了第一個 Docker Hub 倉庫,並構建、標記並將容器映象推送到您的 Docker Hub 倉庫。

其他資源

下一步

現在您已經瞭解了容器和映象的基礎知識,您就可以開始學習 Docker Compose。