当前位置: 首页 > news >正文

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 世界的大门,助你在容器化技术的道路上越走越远。


如果你有任何问题或建议,欢迎在评论区留言,我会尽快回复。感谢阅读!

相关文章:

Windows 系统 Docker Desktop 入门教程:从零开始掌握容器化技术

文章目录 前言一、Docker 简介二、Docker Desktop 安装2.1 系统要求2.2 安装步骤 三、Docker 基本概念四、Docker 常用命令五、实战&#xff1a;运行你的第一个容器5.1 拉取并运行 Nginx 容器5.2 查看容器日志5.3 停止并删除容器 六、总结 前言 随着云计算和微服务架构的普及&…...

记录小白使用 Cursor 开发第一个微信小程序(二):创建项目、编译、预览、发布(250308)

文章目录 记录小白使用 Cursor 开发第一个微信小程序&#xff08;二&#xff09;&#xff1a;创建项目、编译、预览、发布&#xff08;250308&#xff09;一、创建项目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 的格式化库是一个强大的工具&#xff0c;用于处理字符串的格式化操作。它提供了类似于 Python 中 str.format() 的功能&#xff0c;但语法和用法更符合 C 的风格。以下…...

【一文学会 HTML5】

目录 HTML概述基本概念HTML 发展历程HTML 基本结构 网页基本标签标题标签&#xff08;<h1> - <h6>&#xff09;段落标签&#xff08;<p>&#xff09;换行标签&#xff08;<br>&#xff09;水平线标签&#xff08;<hr>&#xff09;注释&#xff0…...

如何在WPS中接入DeepSeek并使用OfficeAI助手(超细!成功版本)

目录 第一步&#xff1a;下载并安装OfficeAI助手 第二步&#xff1a;申请API Key 第三步:两种方式导入WPS 第一种:本地大模型Ollama 第二种APIKey接入 第四步&#xff1a;探索OfficeAI的创作功能 工作进展汇报 PPT大纲设计 第五步&#xff1a;我的使用体验(体验建议) …...

蓝耘智算 + 通义万相 2.1:为 AIGC 装上 “智能翅膀”,翱翔创作新天空

1. 引言&#xff1a;AIGC 的崛起与挑战 在过去几年中&#xff0c;人工智能生成内容&#xff08;AIGC&#xff09;技术突飞猛进。AIGC 涉及了文本生成、图像创作、音乐创作、视频制作等多个领域&#xff0c;并逐渐渗透到日常生活的方方面面。传统的内容创作方式已经被许多人类创…...

电脑如何在系统默认的壁纸中切换自己喜欢的

1、声明&#xff1a;该切换壁纸仅支持win10。 当你想去切换系统默认的壁纸&#xff0c;但是不知道该怎么切换&#xff0c;别慌&#xff0c;小亦教你几招帮你快速切换自定义壁纸。 我们平常使用的win10桌面壁纸大部分都是 简单、朴素的壁纸&#xff0c;但如果你想要切换自己喜…...

【大模型安全】安全解决方案

【大模型安全】安全解决方案 1.技术层面2.数据层面数据收集阶段训练阶段模型推理阶段 1.技术层面 在使用大语言模型时&#xff0c;通常有几种选择&#xff1a;一种是采用封装好的大语言模型SaaS云服务&#xff1b;另一种是在公有云上部署自有的大语言模型&#xff0c;并通过权…...

Windows编译环境搭建(MSYS2\MinGW\cmake)

我的音视频/流媒体开源项目(github) 一、基础环境搭建 1.1 MSYS2\MinGW 参考&#xff1a;1. 基于MSYS2的Mingw-w64 GCC搭建Windows下C开发环境_msys2使用mingw64编译 在Widndows系统上&#xff0c;使用gcc工具链&#xff08;g&#xff09;进行C程序开发&#xff1f;可以的&a…...

云曦春季开学考复现(2025)

Crypto 划水的dp和dq 下载附件后是简单的RSA算法题&#xff0c;之所以说简单是因为给了公钥e 趁热打铁&#xff0c;昨天刚学的RSA&#xff0c;既然有p有q&#xff0c;也有e&#xff0c;而np*q&#xff0c;可以算出欧拉函数值phi&#xff08;p-1&#xff09;*&#xff08;q-1&…...

股票交易所官方api接口有哪些?获取和使用需要满足什么条件

炒股自动化&#xff1a;申请官方API接口&#xff0c;散户也可以 python炒股自动化&#xff08;0&#xff09;&#xff0c;申请券商API接口 python炒股自动化&#xff08;1&#xff09;&#xff0c;量化交易接口区别 Python炒股自动化&#xff08;2&#xff09;&#xff1a;获取…...

《WebForms 实例》

《WebForms 实例》 引言 WebForms 是微软推出的一种用于构建动态Web应用程序的技术。它基于ASP.NET框架&#xff0c;允许开发者使用服务器端控件来构建用户界面&#xff0c;并通过事件驱动模型来响应用户交互。本文将通过一些实例&#xff0c;详细介绍WebForms的使用方法&…...

【每日学点HarmonyOS Next知识】 状态变量、公共Page、可见区域变化回调、接收参数、拖拽排序控件

1、HarmonyOS 在定时器里面改变state修饰的变量&#xff0c;无法更新UI吗&#xff1f; 将函数function写成了封装函数的形式就可以了 Entry Component struct Index {State acSetValve: number 0;aboutToAppear(): void {setInterval(() > {this.acSetValve 200;console…...

Intent3D

1. 研究背景 在现实世界中&#xff0c;人们寻找 3D 物体的行为往往基于特定意图&#xff0c;例如“我想要一个可以支撑我背部的东西”&#xff08;即寻找枕头&#xff09;。传统 3D 视觉定位&#xff08;3D-VG&#xff09;主要依赖人工提供的参照信息&#xff08;如“沙发上的…...

【Python 数据结构 10.二叉树】

目录 一、二叉树的基本概念 1.二叉树的定义 2.二叉树的特点 3.特殊的二叉树 Ⅰ、斜树 Ⅱ、满二叉树 Ⅲ、完全二叉树 Ⅳ、完全二叉树和满二叉树的区别 4.二叉树的性质 5.二叉树的顺序存储 Ⅰ、完全二叉树 Ⅱ、非完全二叉树 Ⅲ、稀疏二叉树 6.二叉树的链式存储 7.二叉树的遍历概念…...

从0开始的操作系统手搓教程27:下一步,实现我们的用户进程

目录 第一步&#xff1a;添加用户进程虚拟空间 准备冲向我们的特权级3&#xff08;用户特权级&#xff09; 讨论下我们创建用户线程的基本步骤 更加详细的分析代码 用户进程的视图 说一说BSS段 继续看process.c中的函数 添加用户线程激活 现在&#xff0c;我们做好了TSS…...

set、LinkedHashSet和TreeSet的区别、Map接口常见方法、Collections 工具类使用

DAY7.2 Java核心基础 想学习Collection、list、ArrayList、Set、HashSet部分的小伙伴可以转到 7.1集合框架、Collection、list、ArrayList、Set、HashSet和LinkedHashSet、判断两个对象是否相等文章查看 set集合 在set集合中&#xff0c;处理LinkedHashSet是有序的&#xf…...

Qt开发:nativeEvent事件的使用

文章目录 一、概述二、nativeEvent 的定义三、Windows 平台示例三、使用nativeEvent监测设备变化 一、概述 Qt 的 nativeEvent 是一个特殊的事件处理机制&#xff0c;允许开发者处理操作系统级别的原生事件。通常&#xff0c;Qt 通过 QEvent 机制来管理事件&#xff0c;但有时…...

鸿蒙Next-应用检测、安装以及企业内部商店的实现

一、企业内部应用检测和更新升级 A应用检测是否安装B应用 canOpenApp():boolean{ try { let link schB://com.example.test/open; // 替换成你目标应用的link串儿 let canOpen bundleManager.canOpenLink(link); console.log("canOpen:"canOpen…...

存量思维和增量思维

在网上看一篇文章&#xff0c;有两种典型的阅读方式。 一种&#xff0c;是挑刺式&#xff0c;眼里只有缺点。 比如&#xff0c;有人不厌其烦地告诉作者&#xff0c;哪段有错别字&#xff0c;哪段不够严谨。 闲得蛋疼。 有这工夫&#xff0c;多看会书&#xff0c;不香么&…...

golang将大接口传递给小接口以及场景

文章目录 golang将大接口传递给小接口背景什么是大接口传递给小接口使用场景 golang将大接口传递给小接口 背景 在 Go 语言中&#xff0c;接口是一种强大的工具&#xff0c;它允许我们定义对象的行为而不关心其具体实现。特别是在复杂的应用程序中&#xff0c;将一个实现了较…...

K8s 1.27.1 实战系列(七)Deployment

一、Deployment介绍 Deployment负责创建和更新应用程序的实例,使Pod拥有多副本,自愈,扩缩容等能力。创建Deployment后,Kubernetes Master 将应用程序实例调度到集群中的各个节点上。如果托管实例的节点关闭或被删除,Deployment控制器会将该实例替换为群集中另一个节点上的…...

Swift系列02-Swift 数据类型系统与内存模型

Swift 是一门现代的、安全的编程语言&#xff0c;其类型系统和内存模型设计对性能和安全性有着重要影响。本文将深入探讨 Swift 的数据类型系统与内存模型&#xff0c;帮助你更好地理解并利用这些特性来优化你的 iOS 应用。本文主要包含&#xff1a; 值类型和引用类型&#xf…...

MySQL中like模糊查询如何优化?

大家好&#xff0c;我是锋哥。今天分享关于【MySQL中like模糊查询如何优化?】面试题。希望对大家有帮助&#xff1b; MySQL中like模糊查询如何优化? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 MySQL 中&#xff0c;LIKE 模糊查询虽然非常常见&#xff0c;…...

用低代码平台集成人工智能:无需专业开发也能实现智能化

引言&#xff1a;人工智能的普及与企业需求 随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;越来越多的企业开始意识到其在提升运营效率、优化客户体验和推动业务创新方面的巨大潜力。从智能客服到自动化决策支持&#xff0c;从数据分析到个性化推荐&#x…...

【使用hexo模板创建个人博客网站】

使用hexo模板创建个人博客网站 环境准备node安装hexo安装ssh配置 使用hexo命令搭建个人博客网站hexo命令 部署到github创建仓库修改_config.yml文件 编写博客主题扩展 环境准备 node安装 进入node官网安装node.js 使用node -v检查是否安装成功 安装成功后应该出现如上界面 …...

最简单圆形进度条实现CSS+javascript,两端带圆弧

两端是弧形的圆形进度条。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title…...

vuejs 模板语法、条件渲染、v-for、事件处理、表单输入绑定

创建vue项目之后我们就可以开始写代码了&#xff0c;我们的代码一般都会写在src目录-components目录-HelloWord.vue文件内。 我们之前写的HTML文件的结构是HTML代码可以集成或者连接外部的css/js文件。 我们通过vue建立的项目&#xff0c;它的结构是在一个vue文件内集成了HTML…...

论文阅读方法

文章目录 步骤一&#xff1a;对论文进行自我判断阅读题目和关键词。阅读摘要阅读总结要点 步骤二&#xff1a;阅读文章阅读图表和图表的注释阅读引言阅读实验部分阅读结果和作者对结果的讨论&#xff08;创新点&#xff09;要点 步骤三&#xff1a;精度论文回答问题1回答问题2回…...