【Docker 学习笔记】Windows Docker Desktop 安装

文章目录

    • 一、前言
    • 二、Windows Docker 安装
      • 1. 基于`Hyper-V后端`和`Windows容器`的安装
      • 2. 基于`WSL2后端`的安装(推荐)
      • 3. 安装`Docker Desktop on Windows`
      • 4. 启动并验证`Docker Desktop`

一、前言

Docker并非是一个通用的容器工具,它依赖于已存在并运行的Linux内核环境。

Docker实质上是在已经运行的Linux下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的Linux主机。

因此,Docker必须部署在Linux内核的系统上。如果其他系统想部署Docker就必须安装一个虚拟Linux环境。

Docker运行基于Linux内核环境

Windows上部署Docker的方法都是先安装一个虚拟机,并在安装Linux系统的的虚拟机中运行Docker

二、Windows Docker 安装

适用于WindowsDocker Desktop下载:Install Docker Desktop on Windows

准备安装环境,主要有两种:1. 基于 Hyper-V后端Windows容器的安装;2. 基于 WSL2后端 的安装

1. 基于Hyper-V后端Windows容器的安装

该种安装方式,环境要求:

  • Windows 11 64 位:专业版 21H2 或更高版本,或企业版或教育版 21H2 或更高版本。
  • Windows 10 64 位:Pro 21H2(内部版本 19044)或更高版本,或企业版或教育版 21H2(内部版本 19044)或更高版本。
  • 必须启用Hyper-V 和Windows容器功能。

对于 Windows 10 和 Windows 11 家庭版,请使用WSL2后端安装方式。

系统要求就不说了,这里说下【启用Hyper-V 和Windows容器功能】

在任务栏搜索框,输入启用或关闭Windows功能,然后打开后,勾选如下配置:
启用hyper-v和容器
注意:
Hyper-V一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本可能无法使用!

2. 基于WSL2后端的安装(推荐)

该种安装方式,环境要求:

  • WSL 版本 1.1.3.0 或更高版本。
  • Windows 11 64 位:家庭版或专业版 21H2 或更高版本,或企业版或教育版 21H2 或更高版本。
  • Windows 10 64 位:家庭版或专业版 21H2(内部版本 19044)或更高版本,或企业版或教育版 21H2(内部版本 19044)或更高版本。
  • 在 Windows 上启用 WSL 2 功能。有关详细说明,请参阅 安装 WSL | Microsoft Learn 。
  • 下载并安装 Linux 内核更新包。

系统要求就不说了,这里说下【启用 WSL2 功能】和【下载并安装 Linux 内核】

最简单的方式:

在管理员模式下打开PowerShellWindows命令提示符,输入wsl --install命令,然后重启计算机即可。

wsl --install

该命令将启用运行WSL并安装 Linux 的 Ubuntu 发行版所需的功能,另外该命令会自动将WSL升级为WSL2

如果你不想使用默认的ubuntu Linux内核,可使用wsl --install -d <Distribution Name>命令,详情参考 更改默认安装的 Linux 发行版

如果你运行的是旧版,或只是不想使用 install 命令并希望获得分步指引,请参阅 旧版 WSL 手动安装步骤

使用 WSL 安装 Linux 发行版的过程完成后,使用“开始”菜单打开该发行版(默认情况下为 Ubuntu)。 系统将要求你为 Linux 发行版创建“用户名”和“密码”。

(首次启动新安装的 Linux 发行版时,将打开一个控制台窗口,要求你等待将文件解压缩并存储到计算机上。 未来的所有启动时间应不到一秒)

3. 安装Docker Desktop on Windows

有两种安装方式:交互式安装、命令行安装。

这里选择交互式安装

1)双击已下载的Docker Desktop Installer.exe安装程序;

2)在安装确认提示中根据前面1、2小节中你准备的安装环境来确认是否勾选Use WSL 2 instead of Hyper-V;

需要注意的是,如果你的系统仅支持其中之一,你将无法选择使用何种方式。
docker 安装确认

3)安装成功后,单击close and log out退出以完成安装过程;

温馨提示:点击close and log out会注销当前系统用户,并且关闭掉已打开的应用程序,如果你有未保存的内容,请保存后再操作哦

命令行的安装方式,请参考:#install-from-the-command-line

4. 启动并验证Docker Desktop

1)安装完成后,Docker会自启动,你也可以点击Docker Desktop桌面图标,Windows搜索Docker来启动;

注意:首次启动,需要接受 Docker服务订阅协议。另外你可以注册登录Docker,也可以跳过登录

2)打开PowerShellWindows命令提示符,输入docker run hello-world

Docker run helloworld.png

docker run hello-world运行结果可看出docker安装完成并可正常运行;

另外,还能看出docker运行的基本过程:

  • Docker 先从本地找hello-world镜像;
  • 本地未找到,去从docker hub拉取镜像;
  • 然后使用找到的镜像创建一个容器实例并运行

3)可以在Docker Desktop 客户端,管理image、container等等

管理image和container



最后:

如果你使用的是 win7win8 等系统,可以利用docker toolbox来安装docker desktop

下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/



更多参考资料:

Install Docker Desktop on Windows | Docker Documentation

使用 WSL 在 Windows 上安装 Linux | Microsoft Learn

旧版 WSL 的手动安装步骤 | Microsoft Learn

设置 WSL 开发环境 | Microsoft Learn

WSL 的基本命令 | Microsoft Learn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/52281.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《零基础入门学习Python》第070讲:GUI的终极选择:Tkinter7

上节课我们介绍了Text组件的Indexs 索引和 Marks 标记&#xff0c;它们主要是用于定位&#xff0c;Marks 可以看做是特殊的 Indexs&#xff0c;但是它们又不是完全相同的&#xff0c;比如在默认情况下&#xff0c;你在Marks指定的位置中插入数据&#xff0c;Marks 的位置会自动…

SAMBA 文件分享相关 笔记

目标说明 在Linux 安装Samba&#xff0c;然后在Windows端映射为网络硬盘 流程 Linux 端命令 apt install samba -y 默认情况下软件会询问是否迁移系统网络设置以搭建协议&#xff0c;选择迁移即可修改配置文件 vim /etc/samba/smb.conf Samba 的配置文件中会带一个名为 prin…

[VRTK4.0]将Unity输入系统与VRTKv4结合使用

学习目标&#xff1a; 展示了如何在Unity项目中设置Unity输入系统&#xff0c;以及如何导入输入系统Tilia包以支持VRTKTilia包与新的Unity输入系统操作一起工作。 流程&#xff1a; 步骤一&#xff1a; 首先我们需要再次检查项目设置是否具有新的Unity输入系统。通过Project S…

JAVA SE -- 第十三天

&#xff08;全部来自“韩顺平教育”&#xff09; 集合 一、集合框架体系 集合主要是两组&#xff08;单列集合、双列集合&#xff09; Collection接口有两个重要的子接口List 、Set&#xff0c;它们的实现子类都是单列集合 Map接口的实现子类是双列集合&#xff0c;存放的…

Java019-1——面向对象的三大特性

一、封装性 将类的某些信息隐藏在类内部&#xff0c;不允许外部程序直接访问&#xff0c;而是通过该类提供的方法来实现对隐藏信息的操作和访问。&#xff08;这里说的信息就是类中的属性和方法&#xff09; 1.1、封装性的体现 想要通过代码体现封装性之前&#xff0c;需要先…

使用vscode+platformio搭建arduino开发环境

存在的问题&#xff1a; Arduino编译时会将所有的C文件都编译一遍造成编译很慢&#xff0c;一个简单的工程稍加修改有可能都需要三四分钟才能编译完成&#xff0c;同时arduino也不支持代码跳转查看功能&#xff0c;不方便代码查看。 解决方法&#xff1a; 使用vscodeplatfor…

【c++】类和对象

类和对象 面向过程和面向对象的初步认识 我们用军事为例&#xff0c;要完成一次作战&#xff0c;需要侦察、后勤保障、战略部署、战术部署...等等 面向过程&#xff1a; 更加关注过程&#xff0c;关注如何侦察&#xff08;无人机侦察、火力侦察、侦察小组侦察&#xff09;&…

vue 文件扩展名中 esm 、common 、global 以及 mini 、 dev 、prod 、runtime 的含义

vue 文件扩展名中 esm 、common 、global 以及 mini 、 dev 、prod 、runtime 的含义 vue.js 直接用在 script 标签中的完整版本&#xff08;同时包含编译器 compiler 和运行时 runtime&#xff09;&#xff0c;可以看到源码&#xff0c;适用于开发环境。 这个版本视图可以写在…

微服务的各种边界在架构演进中的作用

演进式架构 在微服务设计和实施的过程中&#xff0c;很多人认为&#xff1a;“将单体拆分成多少个微服务&#xff0c;是微服务的设计重点。”可事实真的是这样吗&#xff1f;其实并非如此&#xff01; Martin Fowler 在提出微服务时&#xff0c;他提到了微服务的一个重要特征—…

【Chat GPT】用 ChatGPT 运行 Python

前言 ChatGPT 是一个基于 GPT-2 模型的人工智能聊天机器人&#xff0c;它可以进行智能对话&#xff0c;同时还支持 Python 编程语言的运行&#xff0c;可以通过 API 接口进行调用。本文将介绍如何使用 ChatGPT 运行 Python 代码&#xff0c;并提供一个实际代码案例。 ChatGPT …

【雕爷学编程】MicroPython动手做(18)——掌控板之声光传感器2

知识点&#xff1a;什么是掌控板&#xff1f; 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片&#xff0c;支持WiFi和蓝牙双模通信&#xff0c;可作为物联网节点&#xff0c;实现物联网应用。同时掌控板上集成了OLED…

[php-cos]ThinkPHP项目集成腾讯云储存对象COS

Cos技术文档 1、安装phpSdk 通过composer的方式安装。 1.1 在composer.json中添加 qcloud/cos-sdk-v5: >2.0 "require": {"php": ">7.2.5","topthink/framework": "^6.1.0","topthink/think-orm": "…

Oracle 19c 报ORA-704 ORA-01555故障处理---惜分飞

异常断电导致数据库无法启动,尝试对数据文件进行recover操作,报ORA-00283 ORA-00742 ORA-00312错误,由于redo写丢失无法正常应用 D:\check_db>sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on 星期日 7月 30 07:49:19 2023 Version 19.3.0.0.0 Copyrig…

NoSQL-Redis集群

NoSQL-Redis集群 一、集群&#xff1a;1.单点Redis带来的问题&#xff1a;2.解决&#xff1a;3.集群的介绍&#xff1a;4.集群的优势&#xff1a;5.集群的实现方式&#xff1a; 二、集群的模式&#xff1a;1.类型&#xff1a;2.主从复制&#xff1a; 三、搭建主从复制&#xff…

阿里云服务器全方位介绍_性能功能优势和租用费用

阿里云服务器全方位介绍包括云服务器ECS优势、云服务器租用价格、云服务器使用场景及限制说明&#xff0c;阿里云服务器网分享云服务器ECS介绍、个人和企业免费试用、云服务器活动、云服务器ECS规格、优势、功能及应用场景详细说明&#xff1a; 目录 什么是云服务器ECS&#…

细讲TCP三次握手四次挥手(三)

TCP/IP 协议族 在互联网使用的各种协议中最重要和最著名的就是 TCP/IP 两个协议。现在人们经常提到的 TCP/IP 并不一定是单指 TCP 和 IP 这两个具体的协议&#xff0c;而往往是表示互联网所使用的整个 TCP/IP 协议族。 互联网协议套件&#xff08;英语&#xff1a;Internet Pr…

29_互联网(The Internet)(IP数据包;UDP;TCP;DNS;OSI)

上篇介绍了计算机网络的基础知识&#xff0c;也提到互联网&#xff08;The Internet&#xff09;&#xff0c;本篇将会详细介绍互联网&#xff08;The Internet&#xff09;。 文章目录 1. 互联网&#xff08;The Internet&#xff09;组成及数据包传输过程2. IP 数据包的不足3…

【AGI】Copilot AI编程辅助工具安装教程

1. 基础激活教程 GitHub和OpenAI联合为程序员们送上了编程神器——GitHub Copilot。 但是&#xff0c;Copilot目前不提供公开使用&#xff0c;需要注册账号通过审核&#xff0c;我也提交了申请&#xff1a;这里第一期记录下&#xff0c;开启教程&#xff0c;欢迎大佬们来讨论…

6.3.tensorRT高级(1)-yolov5模型导出、编译到推理(无封装)

目录 前言1. YOLOv5导出2. YOLOv5推理3. 补充知识总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程&#xff0c;之前有看过一遍&#xff0c;但是没有做笔记&#xff0c;很多东西也忘了。这次重新撸一遍&#xff0c;顺便记记笔记。 本次课程学习 tensorRT 高级-yolov5模…

医疗小程序:提升服务质量与效率的智能平台

在医疗行业&#xff0c;公司小程序成为提高服务质量、优化管理流程的重要工具。通过医疗小程序&#xff0c;可以方便医疗机构进行信息传播、企业展示等作用&#xff0c;医疗机构也可以医疗小程序提供更便捷的预约服务&#xff0c;优化患者体验。 医疗小程序的好处 提升服务质量…