Windows 系統 Docker Desktop 入門教程:從零開始掌握容器化技術

文章目錄

  • 前言
  • 一、Docker 簡介
  • 二、Docker Desktop 安裝
    • 2.1 系統要求
    • 2.2 安裝步驟
  • 三、Docker 基本概念
  • 四、Docker 常用命令
  • 五、實戰:運行你的第一個容器
    • 5.1 拉取并運行 Nginx 容器
    • 5.2 查看容器日志
    • 5.3 停止并刪除容器
  • 六、總結


前言

隨著云計算和微服務架構的普及,容器化技術成為了現代軟件開發中不可或缺的一部分。Docker 作為最流行的容器化平臺之一,極大地簡化了應用的打包、部署和運行。本文將帶你從零開始,在 Windows 系統上安裝并配置 Docker Desktop,并通過簡單的示例幫助你快速上手 Docker

在這里插入圖片描述


一、Docker 簡介

Docker 是一個開源的容器化平臺,允許開發者將應用及其依賴打包到一個輕量級、可移植的容器中。容器與虛擬機不同,它們共享宿主機的操作系統內核,因此更加輕量且啟動速度更快。

Docker 的核心組件包括:

  • Docker Engine:負責創建和管理容器。
  • Docker Image:容器的模板,包含了運行應用所需的所有文件和配置。
  • Docker Container:鏡像的運行實例。

二、Docker Desktop 安裝

2.1 系統要求

Windows 上安裝 Docker Desktop 之前,請確保你的系統滿足以下要求:

  • Windows 10 64位(專業版、企業版或教育版)。
  • 啟用 Hyper-VWSL 2(Windows Subsystem for Linux 2)。

2.2 安裝步驟

  1. 下載 Docker Desktop
    訪問 Docker 官方網站 https://www.docker.com/products/docker-desktop,下載適用于 Windows 的 Docker Desktop 安裝包。
  2. 安裝 Docker Desktop
    雙擊下載的安裝包,按照提示完成安裝。安裝過程中,Docker 會自動啟用 WSL 2Hyper-V(如果尚未啟用)。
  3. 啟動 Docker Desktop
    安裝完成后,啟動 Docker Desktop。首次啟動時,Docker 會進行一些初始化配置,可能需要幾分鐘時間。
  4. 驗證安裝
    打開命令提示符或 PowerShell,輸入以下命令驗證 Docker 是否安裝成功:
docker --version

如果看到類似 Docker version 20.10.12, build e91ed57 的輸出,說明 Docker 已成功安裝。

三、Docker 基本概念

在開始使用 Docker 之前,了解一些基本概念非常重要:

  • 鏡像(Image):鏡像是一個只讀模板,包含了運行容器所需的文件系統、庫和配置。你可以從 Docker Hub 下載現成的鏡像,也可以自己創建鏡像。
  • 容器(Container):容器是鏡像的運行實例。你可以啟動、停止、刪除容器,每個容器都是相互隔離的。
  • 倉庫(Repository):倉庫用于存儲和分享鏡像。Docker Hub 是最常用的公共倉庫,你也可以搭建私有倉庫。

四、Docker 常用命令

以下是一些常用的 Docker 命令,幫助你快速上手:

拉取鏡像:

docker pull <鏡像名>

例如,拉取官方的 nginx 鏡像:

docker pull nginx

運行容器:

docker run <鏡像名>

例如,運行一個 nginx 容器:

docker run -d -p 80:80 nginx

其中,-d 表示后臺運行,-p 80:80 表示將容器的 80 端口映射到主機的 80 端口。

查看運行中的容器:

docker ps

停止容器:

docker stop <容器ID>

刪除容器:

docker rm <容器ID>

查看本地鏡像:

docker images

刪除鏡像:

docker rmi <鏡像ID>

五、實戰:運行你的第一個容器

現在,讓我們通過一個簡單的示例來運行你的第一個 Docker 容器。

5.1 拉取并運行 Nginx 容器

拉取 Nginx 鏡像:

docker pull nginx

運行 Nginx 容器:

docker run -d -p 80:80 nginx

打開瀏覽器,訪問 http://localhost,你應該能看到 Nginx 的歡迎頁面。

5.2 查看容器日志

如果你想查看容器的日志,可以使用以下命令:

docker logs <容器ID>

5.3 停止并刪除容器

停止容器:

docker stop <容器ID>

刪除容器:

docker rm <容器ID>

六、總結

通過本文,你已經學會了如何在 Windows 系統上安裝 Docker Desktop ,并掌握了 Docker 的基本概念和常用命令。我們還通過一個簡單的 Nginx 示例,展示了如何拉取鏡像、運行容器以及管理容器的生命周期。

Docker 的功能遠不止于此,它還可以用于構建復雜的微服務架構、持續集成和持續部署(CI/CD)等場景。希望本文能為你打開 Docker 世界的大門,助你在容器化技術的道路上越走越遠。


如果你有任何問題或建議,歡迎在評論區留言,我會盡快回復。感謝閱讀!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/71742.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/71742.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/71742.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

可變參數與遞歸

可變參數與遞歸 可變參數 package method; ? public class Demo03 {public static void main(String[] args) {Demo03 demo03new Demo03();demo03.test(1,2,3);?}public void test (int... i){System.out.println(i[0]);//1System.out.println(i[1]);//2System.out.println(…

【redis】全局命令exists、del、expire、ttl(惰性刪除和定期刪除)

exists——判定 key 是否存在 語法&#xff1a; exists key [key...] # 返回值&#xff1a;key 存在的個數針對多個 key 來說&#xff0c;是非常有用的時間復雜度 O ( 1 ) O(1) O(1) Redis 組織這些 key 就是按照哈希表的方式來組織的。Redis 支持很多數據結構指的是 value …

系統架構設計師—系統架構設計篇—特定領域軟件體系結構

文章目錄 概述領域分類垂直域水平域 系統模型基本活動參與角色 概述 特定領域軟件架構&#xff08;Domain Specific Software Architecture&#xff0c;DSSA&#xff09;是在一個特定應用領域中&#xff0c;為一組應用提供組織結構參考的標準團建體系結構。 領域分類 垂直域…

OpenManus:優點突出,短板也明顯

最近&#xff0c;OpenManus 在 AI 領域掀起了一陣熱潮。作為開源版的智能代理軟件&#xff0c;它自誕生起就備受矚目。今天&#xff0c;咱們就來深入聊聊 OpenManus 在實際測試中的表現&#xff0c;看看它到底有哪些過人之處&#xff0c;又存在哪些不足。? 優點大起底? 開源…

VUE3項目的文檔結構分析

1. Vue 3 項目的文檔結構 Vue 3 項目通常基于 Vue CLI 或 Vite 等工具創建&#xff0c;其文檔結構如下&#xff1a; 常見目錄結構 my-vue-project/ ├── public/ # 靜態資源目錄 │ ├── index.html # 入口頁面 ├── src/ …

P8662 [藍橋杯 2018 省 AB] 全球變暖--DFS

P8662 [藍橋杯 2018 省 AB] 全球變暖--dfs 題目 解析講下DFS代碼 題目 解析 這道題的思路就是遍歷所有島嶼&#xff0c;判斷每一塊陸地是否會沉沒。對于這種圖的遍歷&#xff0c;我們首先應該想到DFS。 代碼的注意思想就是&#xff0c;在主函數中遍歷找出所有島嶼&#xff0c…

mmseg

系列文章目錄 文章目錄 系列文章目錄bug bug File "/public/home/rsinfo/project/mmsegmentation/mmseg/__init__.py", line 61, in <module>assert (mmcv_min_version < mmcv_version < mmcv_max_version), \ AssertionError: MMCV2.2.0 is used but i…

AI多模態教程:DeepSeek多模態模型解析及實踐指南

AIGCmagic社區知識星球是國內首個以AIGC全棧技術與商業變現為主線的學習交流平臺&#xff0c;涉及AI繪畫、AI視頻、大模型、AI多模態、數字人以及全行業AIGC賦能等100應用方向。星球內部包含海量學習資源、專業問答、前沿資訊、內推招聘、AI課程、AIGC模型、AIGC數據集和源碼等…

【銀河麒麟高級服務器操作系統實例】虛擬機橋接網絡問題分析及處理

更多銀河麒麟操作系統產品及技術討論&#xff0c;歡迎加入銀河麒麟操作系統官方論壇 https://forum.kylinos.cn 了解更多銀河麒麟操作系統全新產品&#xff0c;請點擊訪問 麒麟軟件產品專區&#xff1a;https://product.kylinos.cn 開發者專區&#xff1a;https://developer…

使用騰訊ncnn加速推理yolo v9對比opencv dnn

前面博客 【opencv dnn模塊 示例(25) 目標檢測 object_detection 之 yolov9 介】 紹了 yolov9 詳細使用方式&#xff0c;重參數化、導出端到端模型&#xff0c;使用 torch、opencv、tensorrt 以及 paddle 的測試。 由于存在移動端推理部署的需求&#xff0c;需要進行加速處理&…

前端小食堂 | Day10 - 前端路由の時空裂隙

??? 今日穿梭指南:兩種維度の路由宇宙 1. Hash 模式:錨點の量子隧道 // 手動創建路由監聽器 window.addEventListener(hashchange, () => {const path = location.hash.slice(1) || /; console.log(進入哈希宇宙:, path); renderComponent(path); }); // 編程…

C語言學習筆記-進階(7)字符串函數3

1. strstr的使用和模擬實現 char * strstr ( const char * str1, const char * str2); Returns a pointer to the first occurrence of str2 in str1, or a null pointer if str2 is not part of str1. &#xff08;函數返回字符串str2在字符串str1中第?次出現的位置&#x…

HarmonyOS Next 屬性動畫和轉場動畫

HarmonyOS Next 屬性動畫和轉場動畫 在鴻蒙應用開發中&#xff0c;動畫是提升用戶體驗的關鍵要素。通過巧妙運用動畫&#xff0c;我們能讓應用界面更加生動、交互更加流暢&#xff0c;從而吸引用戶的注意力并增強其使用粘性。鴻蒙系統為開發者提供了豐富且強大的動畫開發能力&…

PHP:phpstudy無法啟動MySQL服務問題解決

文章目錄 一、問題說明二、解決問題 一、問題說明 我的Windows10系統&#xff0c;之前安裝過MySQL5.7的版本。 然后&#xff0c;用phpstudy安裝MySQL8&#xff0c;并啟動MySQL8。 發生無法啟動的情況。 二、解決問題 1、刪除本地MySQL7的服務 net stop MySQL //這里的服務名…

Nginx(基礎安裝+配置文件)

目錄 一.Nginx基礎 1.基礎知識點 2.異步非阻塞機制 二.Nginx安裝 2.1安裝nginx3種方式 1.包管理工具安裝&#xff08;yum/apt&#xff09; 2.本地包安裝&#xff08;rpm/dpkg&#xff09; 3.源碼編譯安裝 3.1 源碼編譯安裝nginx流程&#xff08;ubuntu&#xff09; 1.…

C++ Windows下屏幕截圖

屏幕截圖核心代碼&#xff08;如果要求高幀率&#xff0c;請使用DxGI&#xff09;&#xff1a; // RGB到YUV的轉換公式 #define RGB_TO_Y(r, g, b) ((int)((0.299 * (r)) (0.587 * (g)) (0.114 * (b)))) #define RGB_TO_U(r, g, b) ((int)((-0.169 * (r)) - (0.331 * (g)) …

修改jupyter notebook的工作空間

今天&#xff0c;我之前R配置jupyter工作空間&#xff0c;講了各種語言內核分配不同的工作空間&#xff0c;雖然是方便管理&#xff0c;但有個問題就是需要每次都進入C盤的配置文件找到notebook的工作空間設置路徑打開修改嘛。 因此&#xff0c;今天我編寫了一個python腳本&am…

江科大51單片機筆記【9】DS1302時鐘可調時鐘(下)

在寫代碼前&#xff0c;記得把上一節的跳線帽給插回去&#xff0c;不然LCD無法顯示 一.DS1302時鐘 1.編寫DS1302.c文件 &#xff08;1&#xff09;重新對端口定義名字 sbit DS1302_SCLKP3^6; sbit DS1302_IOP3^4; sbit DS1302_CEP3^5;&#xff08;2&#xff09;初始化 因為…

電商行業門店管理軟件架構設計與數據可視化實踐

一、行業痛點與核心訴求 在電商多平臺運營成為主流的背景下,企業普遍面臨三大管理難題: ?數據碎片化:某頭部服飾品牌2023年運營報告顯示,其分布在8個平臺的162家門店,日均產生23萬條訂單數據,但財務部門需要5個工作日才能完成跨平臺利潤核算。?成本核算失真:行業調研…

創新算法!BKA-Transformer-BiLSTM黑翅鳶優化算法多變量時間序列預測

創新算法&#xff01;BKA-Transformer-BiLSTM黑翅鳶優化算法多變量時間序列預測 目錄 創新算法&#xff01;BKA-Transformer-BiLSTM黑翅鳶優化算法多變量時間序列預測預測效果基本介紹BKA-Transformer-BiLSTM黑翅鳶優化算法多變量時間序列預測一、引言1.1、研究背景和意義1.2、…