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

news2024/11/17 11:45:32

文章目录

    • 一、前言
    • 二、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

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

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

相关文章

Linux C语言实践eBPF

手动编译了解过程 通过对关键步骤make Msamples/bpf的实践&#xff0c;我们已经可以编译出内核源码中提供的ebpf样例。但这还不够我们充分地理解这个编译过程&#xff0c;我们将这编译过程拆解一下&#xff0c;拆解成可以一步步执行的那种&#xff0c;首先是环境准备&#xff…

算法通关村第二关——两两交换链表中的节点的问题解析

题目类型 链表反转 题目描述 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点&#xff0c;且必须在不修改节点内部的值的情况下完成本题&#xff0c;即&#xff1a;只能进行节点交换 效果图 题目分析 如果原始顺序是 dummy(虚拟头节点) …

JavaSE复盘2

Collection接口的接口对象集合&#xff08;单列集合&#xff09; List接口&#xff1a;元素按照先后有序保存&#xff0c;可重复 LinkList接口实现类&#xff0c;链表&#xff0c;随机访问&#xff0c;没有同步&#xff0c;线程不安全ArrayList接口实现类&#xff0c;数组&…

❤️创意网页:打造炫酷网页 - 旋转彩虹背景中的星星动画

✨博主&#xff1a;命运之光 &#x1f338;专栏&#xff1a;Python星辰秘典 &#x1f433;专栏&#xff1a;web开发&#xff08;简单好用又好看&#xff09; ❤️专栏&#xff1a;Java经典程序设计 ☀️博主的其他文章&#xff1a;点击进入博主的主页 前言&#xff1a;欢迎踏入…

iOS - 检测项目中无用类和无用图片

一、无引用图片检测 LSUnusedResources 安装插件 LSUnusedResources &#xff0c;用【My Mac】模拟器运行,如下图&#xff1a; Project Path 就是项目所在的路径&#xff0c;然后点击右下角 Search按钮&#xff0c;就可以看到被搜索出来的图片资源。 注意&#xff1a;这里被搜…

【TypeScript】类型声明及应用(二)

【TypeScript】类型声明及应用&#xff08;二&#xff09; 一、前言 TypeScript开发中需要对定义的变量指定类型&#xff0c;目前版本都支持哪些类型&#xff0c;每一个类型都有哪些含义&#xff0c;在这篇文章中&#xff0c;我们将会对其进行总结说明 二、JavaScript基本数据…

预约上门系统源码开发,改变服务行业的未来

预约上门系统源码开发是一项复杂而有挑战性的任务&#xff0c;但也是实现智能化预约服务的关键一步。通过自主开发预约上门系统的源码&#xff0c;企业可以完全定制系统的功能、界面和安全性&#xff0c;从而为用户提供更高效、便捷、个性化的预约体验。本文将带你深入了解预约…

【算法基础:动态规划】5.3 计数类DP(整数拆分、分拆数)

文章目录 例题&#xff1a;900. 整数划分解法1——完全背包解法2——分拆数⭐⭐⭐ 例题&#xff1a;900. 整数划分 https://www.acwing.com/problem/content/902/ 解法1——完全背包 容量是 n&#xff0c;物品的大小和价值是 1 ~ n 中的所有数字。 import java.util.*;pub…

软考A计划-系统集成项目管理工程师-项目人力资源管理-中

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

word2vec原理总结

参考文章&#xff1a;https://www.cnblogs.com/pinard/p/7160330.html word2vec是google在2013年推出的一个NLP工具&#xff0c;它的特点是将所有的词向量化&#xff0c;这样词与词之间就可以定量的去度量他们之间的关系&#xff0c;挖掘词之间的联系。 1 词向量编码 1.1 one…

【滑动窗口】算法实战

文章目录 一、算法原理二、算法实战1. leetcode209 长度最小的子数组2. leetcode3 无重复字符的最长子串3. leetcode1004 最大连续1的个数4. leetcode1685 将x减到0的最小操作数5. leetcode904 水果成篮6. leetcode438 找到字符串中所有字母异位词7. leetcode30 串联所有单词的…

助你丝滑过度到 Vue3 其他变化 ②⑨

作者 : SYFStrive 博客首页 : HomePage &#x1f4dc;&#xff1a; VUE3~TS &#x1f4cc;&#xff1a;个人社区&#xff08;欢迎大佬们加入&#xff09; &#x1f449;&#xff1a;社区链接&#x1f517; &#x1f4cc;&#xff1a;觉得文章不错可以点点关注 &#x1f449;…

【COlor传感器】通过扰动调制光传感实现智能光传输的占用分布估计研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

重排链表——力扣143

文章目录 题目描述法一&#xff1a;寻找链表中点、链表逆序、链表合并 题目描述 法一&#xff1a;寻找链表中点、链表逆序、链表合并 void reorderList(ListNode* head){if(headnullptr){return;}// 找到中点 ListNode* mid FindMiddle(head);ListNode *h1head, *h2mid->ne…

数值分析第七章节 用Python实现非线性方程与方程组的数值解法

参考书籍&#xff1a;数值分析 第五版 李庆杨 王能超 易大义编 第7章 非线性方程与方程组的数值解法 文章声明&#xff1a;如有发现错误&#xff0c;欢迎批评指正 文章目录 迭代法求解 x e x − 1 0 xe^x-10 xex−10牛顿法求解 x e x − 1 0 xe^x-10 xex−10简化牛顿法求解 …

PUBG(最短路BFS)

题目&#xff1a;https://ac.nowcoder.com/acm/contest/62106/E 最近&#xff0c;喜爱ACM的PBY同学沉迷吃鸡&#xff0c;无法自拔&#xff0c;于是又来到了熟悉的ERANGEL。经过一番搜寻&#xff0c;PBY同学准备动身前往安全区&#xff0c;但是&#xff0c;地图中埋伏了许多LYB&…

黑苹果如何在macOS Sonoma中驱动博通网卡

准备资源&#xff08;百度&#xff1a;黑果魏叔 下载&#xff09; 资源包中包含&#xff1a;AirportBrcmFixup.kext/IOSkywalkFamily.kext/IO80211FamilyLegacy.kext/OpenCore-Patcher 使用方法&#xff1a; 1.将 csr-active-config 设置为 03080000 全选代码 复制 2.在 …

Flutter ios真机调试连接断开后应用闪退

使用ios真机调试的时候&#xff0c;能正常打开应用&#xff0c;但是当数据线断开连接的时候&#xff0c;应用就会关闭&#xff0c;重新打开就会闪退。 原因是flutter默认在开发过程中使用debug模式编译 只需要将debug选择为release 重新编译就行。

AI工程师的崛起:填补AI革命中的空白

在一个拥有大约5000名语言学习模型&#xff08;LLM&#xff09;研究员&#xff0c;但大约有5000万软件工程师的世界中&#xff0c;供应限制决定了一种新型专业人才—AI工程师的迅猛增长。他们的崛起不仅仅是一种预测&#xff0c;更是对科技世界动态变化的必然反应。AI工程师作为…

AutoSAR系列讲解(实践篇)10.2-EcuM的上下电流程

目录 一、上电(StartUp) 二、下电(Shutdown) 三、睡眠(Sleep) 上下电,说白了就是给Ecu上下电后,Ecu的代码执行顺序。这里还讲到了大家可能经常会用到的Sleep流程,主要就是可以归纳为以下这张图,大家 掌握这张图就基本掌握了EcuM的上下电流程了。这张图的具体内容博…