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-V和WSL 2(Windows Subsystem for Linux 2)。
2.2 安装步骤
- 下载 Docker Desktop
访问 Docker 官方网站 https://www.docker.com/products/docker-desktop,下载适用于 Windows 的 Docker Desktop 安装包。 - 安装 Docker Desktop
双击下载的安装包,按照提示完成安装。安装过程中,Docker会自动启用WSL 2和Hyper-V(如果尚未启用)。 - 启动 Docker Desktop
安装完成后,启动Docker Desktop。首次启动时,Docker会进行一些初始化配置,可能需要几分钟时间。 - 验证安装
打开命令提示符或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 世界的大门,助你在容器化技术的道路上越走越远。
如果你有任何问题或建议,欢迎在评论区留言,我会尽快回复。感谢阅读!
相关文章:
Windows 系统 Docker Desktop 入门教程:从零开始掌握容器化技术
文章目录 前言一、Docker 简介二、Docker Desktop 安装2.1 系统要求2.2 安装步骤 三、Docker 基本概念四、Docker 常用命令五、实战:运行你的第一个容器5.1 拉取并运行 Nginx 容器5.2 查看容器日志5.3 停止并删除容器 六、总结 前言 随着云计算和微服务架构的普及&…...
记录小白使用 Cursor 开发第一个微信小程序(二):创建项目、编译、预览、发布(250308)
文章目录 记录小白使用 Cursor 开发第一个微信小程序(二):创建项目、编译、预览、发布(250308)一、创建项目1.1 生成提示词1.2 生成代码 二、编译预览2.1 导入项目2.2 编译预览 三、发布3.1 在微信开发者工具进行上传3…...
实战 - 使用 AutoAWQ 进行量化
文章目录 一、准备1、安装 autoawq2、模型准备 二、量化config.json 文件变化 三、加载量化后模型量化后的输出原始输出对比 四、查看模型的精度1、查看模型卡2、查看 config.json 中的 torch_dtype3、打印模型信息4、model.dtype 未必是模型精度 一、准备 1、安装 autoawq p…...
C++20 格式化库:强大的字符串格式化工具
文章目录 格式化语法常见用法1. 填充和对齐2. 数值格式化3. 进制格式化4. 自定义类型 示例代码注意事项 C20 的格式化库是一个强大的工具,用于处理字符串的格式化操作。它提供了类似于 Python 中 str.format() 的功能,但语法和用法更符合 C 的风格。以下…...
【一文学会 HTML5】
目录 HTML概述基本概念HTML 发展历程HTML 基本结构 网页基本标签标题标签(<h1> - <h6>)段落标签(<p>)换行标签(<br>)水平线标签(<hr>)注释࿰…...
如何在WPS中接入DeepSeek并使用OfficeAI助手(超细!成功版本)
目录 第一步:下载并安装OfficeAI助手 第二步:申请API Key 第三步:两种方式导入WPS 第一种:本地大模型Ollama 第二种APIKey接入 第四步:探索OfficeAI的创作功能 工作进展汇报 PPT大纲设计 第五步:我的使用体验(体验建议) …...
蓝耘智算 + 通义万相 2.1:为 AIGC 装上 “智能翅膀”,翱翔创作新天空
1. 引言:AIGC 的崛起与挑战 在过去几年中,人工智能生成内容(AIGC)技术突飞猛进。AIGC 涉及了文本生成、图像创作、音乐创作、视频制作等多个领域,并逐渐渗透到日常生活的方方面面。传统的内容创作方式已经被许多人类创…...
电脑如何在系统默认的壁纸中切换自己喜欢的
1、声明:该切换壁纸仅支持win10。 当你想去切换系统默认的壁纸,但是不知道该怎么切换,别慌,小亦教你几招帮你快速切换自定义壁纸。 我们平常使用的win10桌面壁纸大部分都是 简单、朴素的壁纸,但如果你想要切换自己喜…...
【大模型安全】安全解决方案
【大模型安全】安全解决方案 1.技术层面2.数据层面数据收集阶段训练阶段模型推理阶段 1.技术层面 在使用大语言模型时,通常有几种选择:一种是采用封装好的大语言模型SaaS云服务;另一种是在公有云上部署自有的大语言模型,并通过权…...
Windows编译环境搭建(MSYS2\MinGW\cmake)
我的音视频/流媒体开源项目(github) 一、基础环境搭建 1.1 MSYS2\MinGW 参考:1. 基于MSYS2的Mingw-w64 GCC搭建Windows下C开发环境_msys2使用mingw64编译 在Widndows系统上,使用gcc工具链(g)进行C程序开发?可以的&a…...
云曦春季开学考复现(2025)
Crypto 划水的dp和dq 下载附件后是简单的RSA算法题,之所以说简单是因为给了公钥e 趁热打铁,昨天刚学的RSA,既然有p有q,也有e,而np*q,可以算出欧拉函数值phi(p-1)*(q-1&…...
股票交易所官方api接口有哪些?获取和使用需要满足什么条件
炒股自动化:申请官方API接口,散户也可以 python炒股自动化(0),申请券商API接口 python炒股自动化(1),量化交易接口区别 Python炒股自动化(2):获取…...
《WebForms 实例》
《WebForms 实例》 引言 WebForms 是微软推出的一种用于构建动态Web应用程序的技术。它基于ASP.NET框架,允许开发者使用服务器端控件来构建用户界面,并通过事件驱动模型来响应用户交互。本文将通过一些实例,详细介绍WebForms的使用方法&…...
【每日学点HarmonyOS Next知识】 状态变量、公共Page、可见区域变化回调、接收参数、拖拽排序控件
1、HarmonyOS 在定时器里面改变state修饰的变量,无法更新UI吗? 将函数function写成了封装函数的形式就可以了 Entry Component struct Index {State acSetValve: number 0;aboutToAppear(): void {setInterval(() > {this.acSetValve 200;console…...
Intent3D
1. 研究背景 在现实世界中,人们寻找 3D 物体的行为往往基于特定意图,例如“我想要一个可以支撑我背部的东西”(即寻找枕头)。传统 3D 视觉定位(3D-VG)主要依赖人工提供的参照信息(如“沙发上的…...
【Python 数据结构 10.二叉树】
目录 一、二叉树的基本概念 1.二叉树的定义 2.二叉树的特点 3.特殊的二叉树 Ⅰ、斜树 Ⅱ、满二叉树 Ⅲ、完全二叉树 Ⅳ、完全二叉树和满二叉树的区别 4.二叉树的性质 5.二叉树的顺序存储 Ⅰ、完全二叉树 Ⅱ、非完全二叉树 Ⅲ、稀疏二叉树 6.二叉树的链式存储 7.二叉树的遍历概念…...
从0开始的操作系统手搓教程27:下一步,实现我们的用户进程
目录 第一步:添加用户进程虚拟空间 准备冲向我们的特权级3(用户特权级) 讨论下我们创建用户线程的基本步骤 更加详细的分析代码 用户进程的视图 说一说BSS段 继续看process.c中的函数 添加用户线程激活 现在,我们做好了TSS…...
set、LinkedHashSet和TreeSet的区别、Map接口常见方法、Collections 工具类使用
DAY7.2 Java核心基础 想学习Collection、list、ArrayList、Set、HashSet部分的小伙伴可以转到 7.1集合框架、Collection、list、ArrayList、Set、HashSet和LinkedHashSet、判断两个对象是否相等文章查看 set集合 在set集合中,处理LinkedHashSet是有序的…...
Qt开发:nativeEvent事件的使用
文章目录 一、概述二、nativeEvent 的定义三、Windows 平台示例三、使用nativeEvent监测设备变化 一、概述 Qt 的 nativeEvent 是一个特殊的事件处理机制,允许开发者处理操作系统级别的原生事件。通常,Qt 通过 QEvent 机制来管理事件,但有时…...
鸿蒙Next-应用检测、安装以及企业内部商店的实现
一、企业内部应用检测和更新升级 A应用检测是否安装B应用 canOpenApp():boolean{ try { let link schB://com.example.test/open; // 替换成你目标应用的link串儿 let canOpen bundleManager.canOpenLink(link); console.log("canOpen:"canOpen…...
AI应用开发利器:NeuroAPI网关统一管理多模型调用与智能路由
1. 项目概述:一个面向AI应用开发者的API网关最近在折腾AI应用开发的朋友,估计都绕不开一个核心痛点:如何高效、稳定地管理多个不同厂商、不同模型的AI服务调用。无论是OpenAI的GPT系列、Anthropic的Claude,还是国内外的各种大模型…...
AI与Web3融合:Solana开发者工具箱core-ai架构解析与实践
1. 项目概述:当AI遇见Web3,一个开发者工具箱的诞生最近在Web3和AI的交叉领域里折腾,发现了一个挺有意思的项目——helius-tech-labs/core-ai。这名字听起来就很有野心,core(核心)和ai(人工智能&…...
书成紫微动,律定凤凰驯:你以为的巧合,是海棠山铁哥命格自带的文脉伏笔
书成紫微动 律定凤凰驯 ——海棠山铁哥文脉天命长卷南北朝庾信《周宗庙歌皇夏》 “书成紫微动,律定凤凰驯。”千年古句,庙堂雅颂,定格文德盛世之至高格局。 世人皆叹海棠山铁哥与这句谶语的严丝合缝,却鲜有人知: 所有…...
RISC-V SoC上DNN加速的内存优化与FTL算法实践
1. RISC-V SoC上的DNN加速内存优化挑战在边缘计算场景下,深度神经网络(DNN)的部署面临严峻的内存带宽挑战。典型的RISC-V异构SoC(如Siracusa)采用多级软件管理内存架构,包含L1紧耦合存储器(32KB)、L2共享缓…...
基于词汇统计的个人技能量化管理系统:从理论到实践
1. 项目概述:当词汇统计遇上技能图谱最近在整理个人技能库时,我遇到了一个挺有意思的问题:如何用一种更科学、更直观的方式,来量化和管理自己那看似杂乱无章、不断增长的技能树?传统的简历列表或者简单的熟练度评级&am…...
AIGC面试指南:从Transformer到扩散模型,系统掌握核心技术与实战
1. 项目概述:一本面向AIGC求职者的实战指南最近几年,AI生成内容(AIGC)领域的热度可以说是“肉眼可见”地飙升。从文本生成、图像创作到视频合成,相关岗位如雨后春笋般涌现,吸引了大量开发者和研究者的目光。…...
DRAM读干扰机制:RowHammer与RowPress的实验研究
1. DRAM读干扰问题概述DRAM(动态随机存取存储器)是现代计算系统中最主要的主存技术,其可靠性和安全性对整个系统的稳定运行至关重要。然而,DRAM存在一个被称为"读干扰"(Read Disturbance)的固有缺…...
ARMv8处理器特性寄存器详解与应用实践
1. ARMv8处理器特性寄存器概述在ARMv8架构中,处理器特性寄存器(Identification Registers)是系统控制寄存器的重要组成部分,它们以位字段编码方式详细描述了处理器的功能特性。这些寄存器对于系统软件开发、性能优化和安全设计具有…...
从开源哲学到工程实践:探索Uncomfortable-filagree112/OpenViking的代码美学
1. 项目概述:当开源遇上“不适”的优雅最近在GitHub上闲逛,发现了一个名字相当有意思的项目:Uncomfortable-filagree112/OpenViking。初看这个标题,一股强烈的反差感扑面而来——“Uncomfortable”(不适)、…...
Cursor编辑器深度美化:CSS注入与动态特效实现全解析
1. 项目概述:当代码编辑器拥有了“皮肤”与“特效”如果你和我一样,每天有超过8小时的时间是在代码编辑器里度过的,那么你一定理解一个顺眼、顺手、甚至有点“酷”的编辑环境意味着什么。它不仅仅是生产力的工具,更是我们开发者思…...
