Docker Desktop 在 Windows 上的安装和使用
目录
1、安装 Docker Desktop
2、使用 Docker Desktop
(1)运行容器
(2)查看容器信息
(3)数据挂载
Docker Desktop是Docker的官方桌面版,专为Mac和Windows用户设计,提供了一个简单易用的界面来管理和运行Docker容器。它集成了Docker引擎,为开发人员提供了一个快速、可靠、可扩展的方式来构建、运行和管理应用。Docker Desktop的优势在于,它使得在不支持原生Linux容器的操作系统上(如Windows和Mac)安装和运行Docker变得非常简单。
需要注意的是,Windows 10 或 Windows 11 专业版或企业版支持运行 Windows 容器,但是 Windows 家庭版或教育版仅支持运行 Linux 容器。
为什么会有 Windows 容器和 Linux 容器?
主要是系统不一样,对于具体使用哪一种容器,由使后台程序决定,Windows 中使用的后台程序有 WSL 和 Hyper-V。
WSL 和 Hyper-V 简介
WSL 指 “Windows Subsystem for Linux”,这是一个在 Windows 10\11 上能够运行原生 Linux 二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发的,旨在使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。这极大地拓展了Windows系统的功能,使用户能够在Windows环境中享受到Linux的强大功能。//Linux容器
Hyper-V是微软推出的一款轻量级虚拟化解决方案,它基于x86架构和AMD64/Intel64规范,是一种核心虚拟机技术。Hyper-V能够在单一物理计算机上创建并运行多个虚拟机,每个虚拟机都运行在自己的隔离空间中,实现资源的有效隔离和管理。//Windows容器
1、安装 Docker Desktop
在 Windows 中安装 Docker Desktop 非常简单,下载合适版本的安装程序后,根据图形界面指引就可以轻松安装成功。//也就是点点点,就不过多介绍了
官方下载链接:可以点击这里选择想要安装的版本。
以下是安装好的程序界面:Windows 10(家庭中文版)、Docker Desktop 4.27.2
2、使用 Docker Desktop
docker 容器主要通过 docker 镜像来创建,那么如何得到这些镜像呢?
如果是使用第三方提供的程序,一般情况下都会由第三方提供可用的镜像,这些镜像在 docker 的官方仓库可以找到,docker 的官方仓库点击这里。//可能需要注册用户名
Docker Desktop 其实也支持访问 docker 的官方仓库,但因为某些原因,客户端的网络不通,所以可以通过命令行直接去拉取镜像。
以下是我在 Windows 中使用 PowerShell 拉取 postgres 镜像并指定 tag 的相关命令:
PS C:\Users\swadian> docker pull postgres:13.14-alpine3.19
13.14-alpine3.19: Pulling from library/postgres
4abcf2066143: Pull complete
b6004f251c23: Pull complete
ec102136b127: Pull complete
abc3135a4e30: Pull complete
24a265ae010a: Pull complete
67eb691b206c: Pull complete
67622a701b6a: Pull complete
9eb2402d1f59: Pull complete
c9c064158f0d: Pull complete
Digest: sha256:95f1dfacf62e4842d1c62866dd03034d7d68e0771b38a331daa5757ec2d4a86d
Status: Downloaded newer image for postgres:13.14-alpine3.19
docker.io/library/postgres:13.14-alpine3.19
那如何知道这些镜像的 tag 呢?
不用担心,官方文档全都给你安排好了,就比如我们上边的 postgres 镜像,在官方仓库中进行搜索,即可得到关于这个镜像的详细操作信息:
总的来说,docker 官方仓库对于镜像的支持是比较友好的。
(1)运行容器
解决了镜像问题,接下来看看 docker desktop 如何操作吧,docker desktop 对不想敲一堆命令行的点点党来说,简直就是福音。//命令行最烦人的地方就是经常会敲错
就拿我们刚才拉取 postgres 镜像举例,首先找到我们拉取的镜像列表窗口,如下图所示:
点击 run 小箭头,就会弹出来一个可以配置运行参数的窗口,如下所示://简直不要太简单
配置完成后,点击 run 就可以启动容器了,然后我们回到容器列表窗口,就可以看到我们刚才运行的这个容器:
(2)查看容器信息
docker desktop 对展示容器有非常方便的支持,如下图所示:
点击 view details,你可以看到与该容器有关的详细信息,比如容器的运行日志、挂载、容器内文件夹、容器运行状况等,如下图所示:
(3)数据挂载
docker desktop 也支持两种方式的数据挂载。
第一种是直接在启动参数中配置主机路径和容器中指定路径的映射,如下图所示:
第二种是使用数据卷(volumes),这个就开放多了,如果所填的值不是主机路径,那么 docker desktop 会默认使用该值命名并创建一个数据卷:
上图中,"pg_b_data" 并不是一个在 host 主机中存在的路径,所以容器启动时会使用 "pg_b_data" 自动创建一个名为 "pg_b_data" 的数据卷,如下图所示:
点击 "pg_b_data",可以看到通过数据卷映射的所有数据内容:
当然,docker desktop 还在不断的迭代,功能也越来越多,本文只介绍了一些主要的功能,其他新特性请自行探索。
至此全文结束。
相关文章:

Docker Desktop 在 Windows 上的安装和使用
目录 1、安装 Docker Desktop 2、使用 Docker Desktop (1)运行容器 (2)查看容器信息 (3)数据挂载 Docker Desktop是Docker的官方桌面版,专为Mac和Windows用户设计,提供了一个简…...

2024年最受欢迎的 19 个 VS Code 主题排行榜
博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …...
突破编程_C++_网络编程(OSI 七层模型(物理层与数据链路层))
1 OSI 七层模型概述 OSI(Open Systems Interconnection)七层模型,即开放系统互联参考模型,起源于 20 世纪 70 年代和 80 年代。随着计算机网络技术的快速发展和普及,不同厂商生产的计算机和网络设备之间的互操作性成为…...
Spring boot如何使用redis缓存
引入依赖 这个是参照若依的,如果没有统一的版本规定的话,这里是需要写版本号的 <!-- redis 缓存操作 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</arti…...

红蓝色WordPress外贸建站模板
红蓝色WordPress外贸建站模板 https://www.mymoban.com/wordpress/5.html...

python爬虫----了解爬虫(十一天)
🎈🎈作者主页: 喔的嘛呀🎈🎈 🎈🎈所属专栏:python爬虫学习🎈🎈 ✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天…...

碳素光线疗法与宠物健康
碳素光线与宠物健康 生息在地球上的所有动物、在自然太阳光奇妙的作用下、生长发育。太阳光的能量使它们不断进化、繁衍种族。现在、生物能够生存、全仰仗于太阳的光线。太阳光线中、包含有动物健康所需要的极为重要的波长。因此、和户外饲养的动物相比、在室内喂养的观赏动物、…...
展锐平台camera添加底层水印
展锐平台camera添加水印,从底层用编码覆盖图像数组,保证上层获取图像水印的一致性 时间水印diff --git a/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3HWI.cpp b/vendor/sprd/modules/libcamera/hal3_2v6/SprdCamera3HWI.cpp index f2b704f9d6..…...

OSX-02-Mac OS应用开发系列课程大纲和章节内容设计
本节笔者会详细介绍下本系统专题的大纲,以及每个专题章节的组织结构。这样读者会有一个全局的概念。 在开始前还是在再介绍一下下面这个框架图,因为比较重要,在这里再冗余介绍一下。开发Apple公司相关产品的软件时,主要有两个框架…...

热门IT【视频教程】-华为/思科/红帽/oracle
华为认证 网络工程师-入门基础课:华为HCIA认证课程介绍-CSDN博客 网络工程师进阶课:华为HCIP认证课程介绍-CSDN博客 职场进阶,踏上高峰——HCIE-Datacom认证-CSDN博客 华为HCIA试听课程 : 超级实用,华为VRP系统文件…...

HCTNet:一种用于乳腺超声图像分割的混合CNN-transformer
HCTNet:一种用于乳腺超声图像分割的混合CNN-transformer 摘要引言相关工作方法 Materials and methods分割方法 HCTNet_ A hybrid CNN-transformer network for breast ultrasound image segmentation 摘要 乳腺超声图像的自动分割有助于提高乳腺癌诊断的准确性。近…...
766. 托普利茨矩阵
给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。 如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 。 示例 1: 输入:matr…...

基于STM32的汽车防窒息系统
文章目录 基于STM32的汽车防窒息系统系统简介材料展示视频制作硬件连接原理图PCB实物图GSM模块使用GSM模块代码 SGP30模块SGP30模块代码 步进电机驱动步进电机代码 其他模块主逻辑代码 总结 基于STM32的汽车防窒息系统 系统简介 随着社会的发展目前汽车的流行,汽车大…...

GoogleNet神经网络介绍
一、简介 GoogleNet,也称为GoogLeNet,是谷歌工程师设计的一种深度神经网络结构,它在2014年的ImageNet图像识别挑战赛中取得了冠军。该神经网络的设计特点主要体现在其深度和宽度上,通过引入名为Inception的核心子网络结构&#x…...

AI水下颜色校正解决方案,助力企业打造水下视觉盛宴
水下摄影作为一种独特且富有挑战性的拍摄方式,正受到越来越多旅行者和摄影师的青睐。然而由于海水的光线折射和金属成分的影响,水下拍摄的照片和视频往往存在严重的偏色问题,无法真实还原水下世界的美丽与神奇。美摄科技凭借深厚的技术积累和…...

LINUX笔记温习
目录 DAY1 DAY2 day3: day4 day5 day6 day7 day8 day9 day10 day11 day12 day13 day14 day15 20day DAY1 1、多层级文件夹创建要带-p; 2、创建多文件,要先到该目录下才能创建(第一个目录必须存在才能有效建立); D…...

钉钉服务端API报错 43008 参数需要multipart类型
钉钉服务端API报错 43008 参数需要multipart类型 problem 使用媒体文件上传接口,按照文档输入参数,结果返回报错 # 参数 {"access_token": "xxx""type": "image","media": "/Users/xxx/xxx/s…...

HarmonyOS NEXT应用开发案例——阻塞事件冒泡
介绍 本示例主要介绍在点击事件中,子组件enabled属性设置为false的时候,如何解决点击子组件模块区域会触发父组件的点击事件问题;以及触摸事件中当子组件触发触摸事件的时候,父组件如果设置触摸事件的话,如何解决父组…...

【C语言】联合和枚举
个人主页点这里~ 联合和枚举 一、联合体1、联合体类型的声明2、联合体成员的特点3、与结构体对比4、计算联合体大小 二、枚举1、枚举的声明2、枚举的优点3、枚举类型的使用 一、联合体 1、联合体类型的声明 联合体的定义与结构体相似,但是联合体往往会节省更多的空…...

苹果手机黑屏打不开怎么办?5种方法让你轻松应对
苹果手机以其卓越的性能和流畅的操作体验赢得了全球用户的喜爱。然而,就像其他电子产品一样,苹果手机偶尔也会遇到一些问题。其中,苹果手机黑屏打不开是许多用户都曾遇到过的困扰。当您按下电源键,却发现手机屏幕一片漆黑…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...