Docker 映像檔介紹

一個 Docker 映像檔就是一個 容器的模板。 一切始於一個 Docker 映像檔。 當你告訴 Docker 使用 docker run 從映像檔建立一個容器時,它會執行相應的操作(建立檔案系統、初始化相依性等),然後容器就會被建立。 映像檔是透過使用 docker build 命令從 Dockerfile 構建,並可以儲存在本地或發佈到像 Docker Hub 這樣的 Docker 註冊表中,你可以在其中儲存公開和私有映像檔。 如果你訪問 https://hub.docker.com/,你會看到許多映像檔,你可以自由使用而不必建立自己的映像檔。 通常這些映像檔都是由特定技術背後的開發團隊官方製作的。 舉個例子,這是官方的 Node.js Docker 映像檔:https://registry.hub.docker.com/_/node。 我們很快就會談到如何使用映像檔和容器的更多細節。

在Docker Hub上分享Docker鏡像

像我們在從頭開始創建Node.js Hello World Docker容器的文章中創建的映像一樣,它是簡單的,但它是嘗試Docker的一個很酷特性的完美範例,通過Docker Hub提供公共和私有Docker鏡像的官方托管服務。 然而,在我們這樣做之前,我們需要在Docker Hub上註冊。 Docker Hub的基本計劃是免費的,包括無限的公共倉庫和一個私有倉庫。如果需要更多,可以選擇付費計劃。 註冊並登錄後,您將看到您的儀表板: 現在,使用您的用戶名,您需要使用以下命令行來登錄: docker login --username <username> 現在,您可以使用docker tag創建映像,並使用docker push將其推送到Docker Hub: docker tag <image> <username>/<tagname> docker push <username>/<tagname> 如果您忘記登錄,當您運行docker push時,您將收到denied: requested access to the resource is denied的錯誤消息。 現在,您應該在Docker Hub的儲存庫列表中看到您的映像: 點擊它以查看更多詳細信息: 現在,由於映像是公開的,每個人都可以使用它來創建自己的容器,或者將其用作基礎映像。 您現在可以創建一個新的標籤,生成映像的新版本,還有很多其他您可以做的事情,例如: 從外部存儲庫(如GitHub)進行映像的自動構建 執行自動化測試 設置Webhook,在更新存儲庫映像時執行任何操作 創建組織和團隊