Docker 允許開發(fā)人員快速啟動任何開發(fā)環(huán)境,而無需在其本地計算機上安裝所有必需的軟件和工具。這是使用圖像和容器完成的,但這意味著什么?今天,我將解釋 docker 鏡像與容器之間的區(qū)別。
Docker 允許開發(fā)人員快速啟動任何開發(fā)環(huán)境,而無需在其本地計算機上安裝所有必需的軟件和工具。這是使用圖像和容器完成的,但這意味著什么?今天,我將解釋 docker 鏡像與容器之間的區(qū)別。
(資料圖片僅供參考)
鏡像是包含創(chuàng)建容器所需信息的包。它包括在容器運行時使用的所有依賴項和部署配置。圖像可以使用分層從多個基礎圖像繼承。我們將在本課程中深入討論這個主題,您將構建基礎鏡像并使用構建器模式和多階段構建。層層疊疊形成容器的文件系統(tǒng)。圖像沒有狀態(tài),它永遠不會改變。
如果您在本地開發(fā)環(huán)境中工作,要開始任何項目,您的第一步通常是安裝您正在處理的項目所需的一切,例如 SQL 服務器、IIS、搜索索引提供程序(如 Solr)等。此過程容易出錯且乏味。
Docker 鏡像包含所有這些工具,這意味著當您開始一個新項目時,團隊中的開發(fā)人員只需拉取 docker 鏡像!老實說,這是有史以來最好的事情。
另一方面,容器是圖像的運行時實例。它具有圖像、執(zhí)行環(huán)境和運行時說明,例如執(zhí)行 nuget 還原和使用 MSBuild 構建解決方案。
Docker 背后的想法是它定義了一個標準來運送軟件。集裝箱是指海運集裝箱,它定義了在全球范圍內(nèi)運輸貨物的標準。這些貨物到達碼頭,碼頭工人(也稱為碼頭工人)是從集裝箱裝卸貨物的人。在我聽到這個消息之前,我已經(jīng)使用 Docker 工作了一年多,我想把它傳遞下去!讓我們在實踐中看看這個!
我將使用靜態(tài)站點示例。您可以使用此處顯示的運行命令從 docker-curriculum 存儲庫中獲取它。我在 VSCode 中使用 Docker 擴展來處理 Docker 圖像和容器,我強烈推薦它。
docker run -d -P --name static-site prakhar1989/static-site
您需要使用 docker port 命令獲取靜態(tài)站點的端口并指定靜態(tài)站點容器。
docker port static-site
打開瀏覽器并導航到您的本地主機和端口號。
我喜歡使用 VSCode 來處理我的 Docker 容器,如果你安裝了擴展,你可以管理你的容器、圖像、注冊表、網(wǎng)絡、卷和上下文。您可以展開圖像和容器面板以查看您創(chuàng)建的內(nèi)容!鏡像和容器的名稱相同:prakhar1989/static-site。但是,容器可以通過更短的名稱或標簽“static-site”來引用。
您還可以使用命令 docker ps 查看您的容器。這將向您顯示有關容器的重要信息,包括狀態(tài)和端口。
要查看所有圖像,請使用命令docker images。
總之,Docker 鏡像是一個包,其中包含容器運行時使用的所有依賴項和部署配置。容器是圖像的運行時實例。
關鍵詞: