這是一篇關於 Docker 的適合初學者的文章,介紹了 Docker 的核心概念和實際應用。
如果您從事 IT 或任何技術相關領域的工作,並且尚未熟悉容器化,本文將幫助您理解這個概念及其重要性。
熟悉命令列介面 (CLI):您應該熟悉使用終端機或命令列介面 (CLI) 來執行 Docker 命令。
網路基礎知識:對網路概念(例如連接埠和協定)的基本了解將有助於使用 Docker 容器及其連接。
版本控制系統:在管理程式碼庫和 Docker 工作流程時,熟悉 Git 等工具會很有幫助。
願意學習和理解本文中的整個概念。
在所有其他容器化平台中,docker 是使用最廣泛的平台,在全球擁有超過 3,180 億用戶。 Netflix、Spotify、Paypal、Airbnb 等大公司都使用 docker 來運作他們的應用系統。
Docker 是一個幫助開發人員快速建置、測試和執行應用程式的軟體平台。它使用容器並透過容器化來實現這一點,容器化是一種將應用程式及其相依性打包到稱為容器的輕量級、可移植單元中的方法。
跨環境的一致性:Docker 容器可確保您的應用程式以相同的方式執行,無論其在本機電腦、臨時環境或生產伺服器上執行。
資源效率:與虛擬機器不同,容器共享主機作業系統的內核,這使得它們輕量級且啟動速度快。
可移植性:容器可以在任何安裝了 Docker 的系統上執行,這使得它們在不同的作業系統和雲端提供者之間具有高度的可移植性。
簡化部署:Docker 透過將所有相依性捆綁到一個映像中,讓部署應用程式變得輕鬆。
剛開始使用 docker 時,你不能不知道這些術語,它們是 docker 的必備知識:
Docker 映像是一個唯讀模板,其中包含應用程式程式碼、程式庫和其他依賴項。將其視為環境的快照。映像用於建立容器。
容器是 Docker 映像的執行實例。它是獨立的、輕量級的,並且包含執行應用程式所需的一切。
Dockerfile 是一個文字文件,其中包含建置 Docker 映像的說明。它定義基礎映像、應用程式程式碼以及任何所需的配置或依賴項。
Docker Hub 是一個基於雲端的註冊表,您可以在其中尋找和共用 Docker 映像。它就像一個容器應用程式商店。建立docker容器後,它被推送到一個叫Docker Hub的地方,其他人可以遠端存取你的容器。
若要開始使用 docker,請依照下列步驟操作:
第1步:安裝Docker
從Docker 官方網站下載並安裝適用於您的作業系統(Windows、macOS 或 Linux)的 Docker Desktop。
第 2 步:驗證安裝
在終端機中執行以下命令來檢查 Docker 是否安裝正確:
docker --version
您應該會看到系統上安裝的 Docker 版本。
讓我們來看一個使用 Docker 執行 Web 伺服器的簡單範例。
從 Docker Hub 提取預先建置的映像。例如Nginx官方鏡像:
docker pull nginx
使用拉取的鏡像來啟動容器:
docker run -d -p 8080:80 nginx
此命令以分離模式 ( -d
) 執行 Nginx 容器,並將電腦上的連接埠 8080 對應到容器中的連接埠 80。
開啟 Web 瀏覽器並前往http://localhost:8080
。您應該會看到 Nginx 歡迎頁面。
docker ps
這將顯示所有活動容器。
docker stop [CONTAINER_ID]
將[CONTAINER_ID]
替換為容器的 ID 或名稱。
docker rm [CONTAINER_ID]
docker build :此指令用於從 Dockerfile 建置 Docker 映像。
docker images :此指令用於列出系統上的所有可用映像。
docker rm :此指令用於刪除或刪除 Docker 映像。
docker log :此指令用於查看正在執行的容器的日誌。
docker run :此指令用於從 docker 映像建立並啟動新容器
docker pull :此指令用於將 Docker 映像從 Docker 註冊表(例如 Docker Hub)下載到本機 Docker 主機。
docker push :此命令用於將 Docker 映像推送到 Docker 註冊表,使其可供其他人下載和執行。
docker volume :此指令用於管理卷,卷用於持久保存 Docker 容器產生和使用的資料。
docker commit :此指令用於從正在執行或已停止的容器建立新的 docker 映像。
docker network :此指令用於管理 Docker 容器的網絡,可讓您建立自訂網路、檢查現有網路等。
docker ps :此指令用於列出正在執行的容器。使用 docker ps -a 列出所有容器,包括已停止的容器。
docker log :此指令用於從容器中擷取日誌。這對於除錯和監視應用程式輸出很有幫助。
docker cp :此指令用於在主機和容器之間複製檔案或目錄。
docker prune :此指令用於清理未使用的 Docker 物件,例如停止的容器、懸掛的映像、未使用的網路和磁碟區
docker stats :此指令用於顯示正在執行的容器的即時資源使用統計資訊(CPU、記憶體等)。
碼頭導入/導出:
docker export:將容器的檔案系統匯出為 tar 檔案。
docker import:匯入 tarball 以建立新映像。
如果您願意獲得更多資源來幫助您更深入地學習 docker,請查看;
✨ Udemy :有很多關於 docker 的課程非常有幫助
✨ Youtube :官方 docker YouTube 頻道提供全面的教學和演示。還有很多教學影片可以學習
✨ Docker 文件:Docker 官方文件
✨ Docker Hub :Docker Hub 還提供了在不同應用程式中使用 Docker 映像的文件、教學和範例。
✨ Docker 部落格和教學:就像這篇文章一樣,還有其他關於 Docker 的好文章或部落格可以幫助您深入了解主題。
現在您已經掌握了 Docker 的基礎知識,您可以探索更高階的概念,例如:
使用 Dockerfile 建立自訂 Docker 映像。
使用 Docker Compose 管理多容器應用程式。
使用 Docker Swarm 或 Kubernetes 擴充應用程式。
在本文中,您了解了 Docker:它是什麼以及為何它被廣泛使用。您已經探索了 Docker 的關鍵元件,這對於任何初學者來說都是必不可少的知識。此外,您還了解如何設定 Docker 環境以及所需的基本命令。最後,您發現了將為您的旅程提供支援的資源和教學課程。
Docker 是一個強大的工具,可以簡化現代軟體開發和部署的複雜性。透過練習,您會發現它在您的 DevOps 工具包中不可或缺!
原文出處:https://dev.to/onlyfave/understanding-docker-a-beginners-guide-to-containerization-3478