什麼是登錄檔?
解釋
既然您知道了什麼是容器映象以及它的工作原理,您可能想知道 - 您在哪裡儲存這些映象?
嗯,您可以將容器映象儲存在您的計算機系統上,但如果您想與朋友分享它們或在另一臺機器上使用它們怎麼辦?這就是映象登錄檔發揮作用的地方。
映象登錄檔是用於儲存和共享您的容器映象的集中位置。它可以是公共的也可以是私有的。Docker Hub 是一個任何人都可以使用的公共登錄檔,也是預設的登錄檔。
雖然 Docker Hub 是一個流行的選擇,但今天還有許多其他可用的容器登錄檔,包括 Amazon Elastic Container Registry(ECR), Azure Container Registry (ACR), 以及 Google Container Registry (GCR)。您甚至可以在本地系統或組織內部執行您的私有登錄檔。例如,Harbor、JFrog Artifactory、GitLab Container registry 等。
登錄檔與倉庫
在使用登錄檔時,您可能會聽到登錄檔和倉庫這兩個詞,就好像它們是可互換的。雖然它們是相關的,但並不完全相同。
登錄檔是儲存和管理容器映象的集中位置,而倉庫是登錄檔中相關容器映象的集合。可以將其想象成一個資料夾,您根據專案對映象進行組織。每個倉庫包含一個或多個容器映象。
下圖顯示了登錄檔、倉庫和映象之間的關係。
注意
使用 Docker Hub 的免費版本,您可以建立一個私有倉庫和無限個公共倉庫。有關更多資訊,請訪問 Docker Hub 訂閱頁面。
試一試
在本動手操作中,您將學習如何構建 Docker 映象並將其推送到 Docker Hub 倉庫。
註冊免費的 Docker 賬戶
如果您還沒有建立,請前往 Docker Hub 頁面註冊一個新的 Docker 賬戶。
您可以使用您的 Google 或 GitHub 賬戶進行身份驗證。
建立您的第一個倉庫
登入 Docker Hub。
選擇右上角的建立倉庫按鈕。
選擇您的名稱空間(很可能是您的使用者名稱),並將
docker-quickstart
作為倉庫名稱輸入。將可見性設定為公開。
選擇建立按鈕建立倉庫。
就這樣,您已成功建立了您的第一個倉庫。🎉
這個倉庫現在是空的。您現在將透過向其推送映象來解決這個問題。
使用 Docker Desktop 登入
- 下載並安裝 Docker Desktop(如果尚未安裝)。
- 在 Docker Desktop GUI 中,選擇右上角的登入按鈕
克隆 Node.js 示例程式碼
要建立映象,您首先需要一個專案。為了讓您快速入門,您將使用位於 github.com/dockersamples/helloworld-demo-node 的示例 Node.js 專案。此倉庫包含構建 Docker 映象所需的預構建 Dockerfile。
不用擔心 Dockerfile 的細節,因為您將在後面的部分中學習這些內容。
使用以下命令克隆 GitHub 倉庫
git clone https://github.com/dockersamples/helloworld-demo-node
導航到新建立的目錄。
cd helloworld-demo-node
執行以下命令構建 Docker 映象,將
YOUR_DOCKER_USERNAME
替換為您的使用者名稱。docker build -t <YOUR_DOCKER_USERNAME>/docker-quickstart .
注意
確保在
docker build
命令的末尾包含點(.)。這告訴 Docker 在哪裡查詢 Dockerfile。執行以下命令列出新建立的 Docker 映象
docker images
您將看到類似於以下內容的輸出
REPOSITORY TAG IMAGE ID CREATED SIZE <YOUR_DOCKER_USERNAME>/docker-quickstart latest 476de364f70e 2 minutes ago 170MB
透過執行以下命令啟動容器來測試映象(將使用者名稱替換為您的使用者名稱)
docker run -d -p 8080:8080 <YOUR_DOCKER_USERNAME>/docker-quickstart
您可以透過在瀏覽器中訪問 https://:8080 命令標記 Docker 映象。Docker 標籤允許您對映象進行標記和版本控制。
docker tag <YOUR_DOCKER_USERNAME>/docker-quickstart <YOUR_DOCKER_USERNAME>/docker-quickstart:1.0
最後,使用
docker push
命令將新構建的映象推送到您的 Docker Hub 倉庫。docker push <YOUR_DOCKER_USERNAME>/docker-quickstart:1.0
開啟 Docker Hub 並導航到您的倉庫。導航到**標籤**部分,檢視您新推送的映象。
在本教程中,您註冊了 Docker 帳戶,建立了第一個 Docker Hub 倉庫,並構建、標記並將容器映象推送到您的 Docker Hub 倉庫。
其他資源
下一步
現在您已經瞭解了容器和映象的基礎知識,您就可以開始學習 Docker Compose。