Windows 11 安装 Docker Desktop

news2024/11/15 14:07:49

Windows 环境安装 WSL2

WSL 简介

WSL 全称是 Windows Subsystem for Linux ,适用于 LinuxWindows 子系统,可让开发人员按原样运行 GNU/Linux 环境,包括大多数命令行工具、实用工具和应用程序,且不会产生传统虚拟机或双启动设置开销。

简单的说就是 WSL 能让你在不安装 Linux 或者 VM(虚拟机)的情况下体验双系统!

关于 WSL 更多信息,请查看 => https://learn.microsoft.com/zh-cn/windows/wsl/about
比较 WSL 版本,请查看 => https://learn.microsoft.com/zh-cn/windows/wsl/compare-versions

Windows 系统配置要求:

  • 对于 x64 系统:版本 1903 或更高版本,内部版本为 18362 或更高版本。
  • 对于 ARM64 系统:版本 2004 或更高版本,内部版本为 19041 或更高版本。

例如:Windows 10 May 2020(2004)Windows 10 May 2019(1903)Windows 10 November 2019(1909)Windows 11
注意:低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。

Windows Update 助手 下载地址,https://www.microsoft.com/zh-cn/software-download/windows10

  • 具有 Hyper-V 虚拟化技术支持的计算机;

关于虚拟化技术说明:

虚拟化技术(Virtualization Technology,简称 VT),这种技术简单来说就是让可以让一个 CPU 工作起来就像多个 CPU 并行运行,从而使得在一台电脑内可以同时运行多个 OS 操作系统。

英特尔(Intel)AMD 的大部分 CPU 均支持 VT 技术:

  • 特尔(Intel) 名称为 VT-x
  • AMD 名称为 AMD-V

VT 开启之后对 VM 的性能有较大的提高。(比如:VMware、Hyper、安卓模拟器 等)

参考:https://zhuanlan.zhihu.com/p/394990397

检查 Windows 版信息

检查 Windows 版本及内部版本号,选择【Windows 徽标键 + R】,然后键入“winver”,选择【确定】。

winver

Windwos 安装 WSL2

说明:以下操作均以【管理员】身份打开 Windows PowerShellWindows Terminal,输入指令执行。

此处以 Windows Terminal 为例,操作步骤如下:

1、启用 WSL

不管您想要使用哪个版本的 WSL,都首先需要启用它。Windows Terminal输入命令:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

2、启用 “虚拟机平台”

WSL2 需要启用 Windows 10 的 “虚拟机平台” 特性。它独立于 Hyper-V,并提供了一些在 LinuxWindows 子系统新版本中可用的更有趣的平台集成。

  • Windows 10(2004) 上启用虚拟机平台:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  • Windows 10(1903,1909) 上启用虚拟机平台:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart

说明:此步骤为了确保所有相关部件配置生效,您应该在此时重启系统,否则可能会发不符合预期的情况。

3、设置 WSL2 为默认值

Windows Terminal 输入以下命令,将 WSL2 设置为 WSL 的默认版本:

wsl --set-default-version 2

4、安装一个 Linux 发行版

有了 WSL必要的虚拟化技术,接下来去 Microsoft Store 下载并安装 Linux 发行版,这里以 Ubuntu 22.04.2 LTS 为例。

注意:去商店(Microsoft Store)安装的 Linux 发行版只能安装在 C 盘。

  • 4.1 Microsoft Store 搜索 linux,选择 Ubuntu 22.04.2 LTS

Microsoft Store 搜索 linux

  • 4.2 Ubuntu 22.04.2 LTS 详情:

ubuntu 详情

  • 4.3 点击【安装】按钮,等待安装完成。

安装 ubuntu

  • 4.4 安装完以后在 Windows Terminal 中点开 Ubuntu,按照提示初次设置用户名和密码,注意用户名不支持大写。

ubuntu 安装完成

  • 4.5 使用 WSL2

最后显示 Installation successful! 就说明安装成功!整个过程挺简单的,毕竟是 WSL(Windows 的子系统),对 Windows 用户很友好。

Windows 环境安装 Docker Desktop

下载 Docker Desktop

注意选择 OS 平台下载相应的 Docker Desktop(下载地址 => https://docs.docker.com/desktop/),下载后以【管理员】身份运行 Docker Desktop 执行安装操作。

下载 docker

安装 Docker Desktop

Docker Desktop 安装好后,启动运行:

docker start

配置 Docker Desktop

  • 点击设置【Settings】

General

  • 选择【Docker Engine】添加如下配置:

Docker Engine

json 配置信息如下:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "dns": [
    "8.8.8.8",
    "8.8.4.4"
  ],
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "insecure-registries": [
    "https://hub.atguigu.com"
  ],
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://mirror.ccs.tencentyun.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://cr.console.aliyun.com/"
  ]
}

添加配置后,点击左下角的【Apply & restart】按钮,等待配置生效并重启完成。

Docker Engine2

终端命令验证 Dcoker 是否安装成功

接下来我们打开 Windows Terminal,输入命令:

docker version

输出如下信息:

Client:
 Cloud integration: v1.0.29
 Version:           20.10.22
 API version:       1.41
 Go version:        go1.18.9
 Git commit:        3a2c30b
 Built:             Thu Dec 15 22:36:18 2022
 OS/Arch:           windows/amd64
 Context:           default
 Experimental:      true

Server: Docker Desktop 4.16.3 (96739)
 Engine:
  Version:          20.10.22
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.9
  Git commit:       42c8b31
  Built:            Thu Dec 15 22:26:14 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.14
  GitCommit:        9ba4b250366a5ddde94bb7c9d1def331423aa323
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

或者输入命令:

docker info

输出如下信息:

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc., v0.10.0)
  compose: Docker Compose (Docker Inc., v2.15.1)
  dev: Docker Dev Environments (Docker Inc., v0.0.5)
  extension: Manages Docker extensions (Docker Inc., v0.2.17)
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
  scan: Docker Scan (Docker Inc., v0.23.0)

Server:
 Containers: 7
  Running: 3
  Paused: 0
  Stopped: 4
 Images: 30
 Server Version: 20.10.22
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 9ba4b250366a5ddde94bb7c9d1def331423aa323
 runc version: v1.1.4-0-g5fd4c4d
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.10.16.3-microsoft-standard-WSL2
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 16
 Total Memory: 13.59GiB
 Name: docker-desktop
 ID: SRPD:RTAI:YAGO:44HL:DPFW:KUPZ:RPYW:OX3X:VBZP:24GQ:YFVN:NPLX
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5000
  hub.atguigu.com
  127.0.0.0/8
 Registry Mirrors:
  https://registry.docker-cn.com/
  http://hub-mirror.c.163.com/
  https://mirror.ccs.tencentyun.com/
  https://docker.mirrors.ustc.edu.cn/
  https://cr.console.aliyun.com/
 Live Restore Enabled: false

看到上面输出的信息,说明 Windows 环境的 Docker Desktop 就安装完成了,此处是使用 WSL2 安装的 linux 发行版,我们可以 linux 原生环境体验 Docker 的相关操作。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

低线城市外卖市场逐渐下沉,创业者如何有效开展本地外卖平台

近年来,我国网上外卖营业额不断上升,使我国餐饮业的比重越来越高。 随着外卖市场的下沉,低线城市的用户开始使用外卖平台 由于我国在线外卖行业逐渐成熟,一、二线主流市场逐渐饱和,外卖行业逐渐开始向低线城市发展&…

非标自动化设备远程监控解决方案

为了实现企业自动化生产,提高工作效率和稳定性,需对整个工厂进行远程监控和管理。 在工厂建立了一个远程监控系统,可以实现对工业自动化的设备状态进行远程实时监控,同时可以利用无线网络技术来实现对设备的数据采集和远程管理。 …

Guava ——Joiner和Splitter

大家好,这里是一口八宝周👏欢迎来到我的博客❤️一起交流学习 文章中有需要改进的地方请大佬们多多指点 谢谢🙏在本篇文章中,我将用实例展示,如何使用Joiner将集合转换为 String ,以及使用Splitter将 Strin…

如何使用EvilTree在文件中搜索正则或关键字匹配的内容

关于EvilTree EvilTree是一款功能强大的文件内容搜索工具,该工具基于经典的“tree”命令实现其功能,本质上来说它就是“tree”命令的一个独立Python 3重制版。但EvilTree还增加了在文件中搜索用户提供的关键字或正则表达式的额外功能,而且还…

Android性能优化系列篇:弱网优化

弱网优化1、Serializable原理通常我们使用Java的序列化与反序列化时,只需要将类实现Serializable接口即可,剩下的事情就交给了jdk。今天我们就来探究一下,Java序列化是怎么实现的,然后探讨一下几个常见的集合类,他们是…

sklearn中的数据预处理和特征工程

目录 一.数据挖掘的五大流程 1. 获取数据 2. 数据预处理 3. 特征工程: 4. 建模,测试模型并预测出结果 5. 上线,验证模型效果 二.数据预处理 1.数据无量纲化 2.preprocessing.MinMaxScaler(数据归一化) 3.preprocessing.Standard…

Linux编译器——gcc/g++(预处理、编译、汇编、链接)

目录 0.程序实现的两大环境 1.gcc如何完成 预处理 编译 汇编 链接 2.动态库与静态库 对比二者生成的文件大小 3. gcc常用选项 0.程序实现的两大环境 任何一个C程序的实现都要经过翻译环境与执行环境。 在翻译环境中又分为4个部分,预编译、编译、汇编与链…

Spring Cloud配置application.yml与bootstrap.yml区别及多profile配置 | Spring Cloud 6

一、前言 Spring Cloud 构建于 Spring Boot 之上,在 Spring Boot 中有两种上下文,一种是 bootstrap,另外一种是 application。 二、bootstrap与application (.yml/.properties) 2.1 两者区别 bootstrap.yml/bootstrap.properties 和 appl…

CHAPTER 3 Web HA集群部署 - Keepalived

Web HA集群部署 - Keepalived1. Keepalived概述1.1 工作原理1.2 核心功能1.3 拓扑图2. KeepAlived安装方式2.1 yum源安装2.2 源码包编译3. KeepAlived安装3.1 环境依赖3.2 安装nginx3.3 安装Keepalived4. Keepalived部署4.1 主备模式1. 节点配置2. 主节点配置文件3. 从节点配置…

金三银四了,准备跳槽的可以看看....

前两天跟朋友感慨,去年的铜九铁十、裁员、疫情导致好多人都没拿到offer!现在已经3月了,具体的金三银四也已经到来了。 对于想跳槽的职场人来说,绝对要已经提前做准备了。这时候,很多高薪技术岗、管理岗的缺口和市场需求也出来了。…

谷粒学苑第七 八 九天

谷粒学苑第七天 上传到服务器 文件上传到接口中 在接口中读取内容 加到数据库 swagger: 报了实体类的错:刚刚这里忘记写数据了 一级二级都查出来了: 课程发布流程确认 报错: 实体类全部改为_STR还是报错 org.springfr…

Java线程池源码分析

Java 线程池的使用,是面试必问的。下面我们来从使用到源码整理一下。 1、构造线程池 通过Executors来构造线程池 1、构造一个固定线程数目的线程池,配置的corePoolSize与maximumPoolSize大小相同, 同时使用了一个无界LinkedBlockingQueue存…

《PyTorch深度学习实践10》——循环神经网络-基础篇(Basic-Recurrent Neural Network)

目录一、RNN简介二、RNN Cell用法三、RNN用法三、实例:hello换序1.RNN Cell2.RNN四、Embedding一、RNN简介 RNN网络最大的特点就是可以处理序列特征,就是我们的一组动态特征。比如,我们可以通过将前三天每天的特征(是否下雨&#…

七、SpringBoot_自动装配

自动装配 官方文档 SpringBoot自动配置尝试根据您添加的 jar 依赖项自动配置您的 Spring 应用程序 Spring Boot auto-configuration attempts to automatically configure your Spring application based on the jar dependencies that you have added. SpringBoot定义了一套接…

详谈IIC

前言 在嵌入式底层系统中,常见的通讯方式,串口,IIC,SPI,IIS等,一般IIC,SPI,IIS更多的采取IO模拟,其余CAN,UART均是硬件设计直接支持,而IIC主要用于多数传感器数据的读写&#xff0c…

【c++基础】

C基础入门统一初始化输入输出输入输出符输入字符串const与指针c和c中const的区别const与指针的关系常变量与指针同类型指针赋值的兼容规则引用引用的特点const引用作为形参替换指针其他引用形式引用和指针的区别inline函数缺省参数函数重载判断函数重载的规则名字粉碎C编译时函…

Goby 征文大擂台,超值盲盒等你来!

001 Goby 技术征文正式启动 Goby 致力于做最好的网络安全工具。为了促进师傅们知识共享和技术交流,现发起关于 Goby 的技术文章征集活动! 欢迎所有师傅们参加,分享您的使用经验或挖洞窍门等,帮助其他人更好地了解和利用 Goby。 …

Winform界面实现控件中英文语言切换

一、业务需求 在Winform项目的开发过程中,涉及到一个基础的功能就是需要对界面中的显示语言内容可以进行选择切换,方便不同地区的使用者快速上手使用;效果如下: 二、需求分析 需要实现对Winform项目界面显示语言可选择切换步骤如下: ①修改控件的显示内容; ②获取到界面显…

【计算机网络】数据链路层

概述 封装成帧 差错检验 可靠传输 实现机制 可靠传输的实现机制 停止等待协议 回退N帧协议 选择重传协议 【计算机网络】MAC帧和PPP帧(定义使用范围区别共同点)_GPNU_Log的博客-CSDN博客_ppp帧 PPP帧和以太网帧 | Mixoo 数据链路层的协议有PPP协…

Rman单实例迁移到单实例

关于同平台同版本数据库之间的迁移操作的实验 ---Source DB[rootoracle-db-19cs ~]# cat /etc/redhat-release CentOS Stream release 8 [rootoracle-db-19cs ~]# --- Target DB[rootoracle-db-19ct ~]# cat /etc/redhat-release CentOS Stream release 8 [rootoracle-db-19ct…