【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

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

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

相关文章

Redis学习路线(4)—— Redis实现项目缓存

一、什么是缓存 &#xff08;一&#xff09;概念&#xff1a;缓存就是数据交换的缓冲区&#xff08;称为Cache&#xff09;&#xff0c;是存储数据的临时区域&#xff0c;一般读写性能较高。 &#xff08;二&#xff09;常见缓存&#xff1a; 浏览器缓存&#xff0c;服务器缓…

SpringBootAdmin介绍

一、SpringBootAdmin 简介 1.1 概述 SpringBootAdmin 是一个非常好用的监控和管理的开源组件&#xff0c;该组件能够将 Actuator 中的信息进行界面化的展示&#xff0c;也可以监控所有 Spring Boot 应用的健康状况&#xff0c;提供实时警报功能。 1.2 功能特性 显示应用程序…

智能家居是否可与ChatGPT深度融合?

​ ChatGPT自2022年面世以来&#xff0c;已为亿万网民提供智能问答服务。然而我们是否曾想到&#xff0c;这一人工智能驱动的聊天机器人&#xff0c;是否可为智能家居赋能? 要实现ChatGPT与智能家居设备之间的无缝对话&#xff0c;单单依靠一台终端是远远不够的。ChatGPT必须…

Mybatis中where 1=1 浅析

在一些集成mybatis的工程中经常看到where11 的代码&#xff0c;也有同事问我&#xff0c;这样写有什么用&#xff0c;下面对其进行简单的分析记录一下。 1、场景 看下面这样一段xml中的代码 <select id"queryBook" parameterType"com.platform.entity.Book…

ST官方基于米尔STM32MP135开发板培训课程(一)

本文将以Myirtech的MYD-YF13X以及STM32MP135F-DK为例&#xff0c;讲解如何使用STM32CubeMX结合Developer package实现最小系统启动。 1.开发准备 1.1 Developer package准备 a.Developer package下载&#xff1a; ‍https://www.st.com/en/embedded-software/stm32mp1dev.ht…

使用powershell找回丢失的RDCManage密码

内网的一台服务器上的装机默认用户密码忘记了&#xff0c;但是好在别的电脑上使用RDCMan&#xff08;Remote Desktop Connection Manager&#xff09;连接过这台服务器&#xff0c;并且保存了密码。于是经过一番折腾&#xff0c;最后把密码找回来了&#xff1a; 最后成功的powe…

个人建议(2023-7-31)【建议】

前言 2023-7-31 21:54:54 我的个人建议又㕛叒叕来了 关键重点黑体标出 本文已在CSDN博客中发布文章 本文已在CSDN建议社区中发布帖子 最近比较忙只能简单写一写 收货地址&#xff0c;浏览之后再确认&#xff0c;老是怕提交错误 快递进度查询 草稿也能设置专栏 不用重新…

同步锁: synchronized

synchronized 1. synchronized的特性2. synchronized的使用3. synchronized的锁机制 1. synchronized的特性 原子性: 所谓原子性就是指一个操作或者多个操作&#xff0c;要么全部执行并且执行的过程不会被任何因素打断&#xff0c;要么就都不执行。可见性: 可见性是指多个线程…

IO流简述

IO流IO流使用场景 什么是IO流常用的IO流字节流字符流缓冲流 BIO、NIO、AIO的区别 IO流 IO流使用场景 如果操作的是纯文本文件&#xff0c;优先使用字符流如果操作的是图片、视频、音频等二进制文件。优先使用字节流如果不确定文件类型&#xff0c;优先使用字节流。字节流是万能…

如何使用Flask-SQLAlchemy来管理数据库连接和操作数据?

首先&#xff0c;我们需要安装Flask-SQLAlchemy。你可以使用pip来安装它&#xff0c;就像这样&#xff1a; pip install Flask-SQLAlchemy好了&#xff0c;现在我们已经有了一个可以操作数据库的工具&#xff0c;接下来让我们来看看如何使用它吧&#xff01; 首先&#xff0c…

前端接收后端返回换行符 /n 不生效

问题&#xff1a;前端接收后端返回换行符 /n 不换行、不生效 解决方案&#xff1a; 一、 设置css的white-space属性 <div class"text-container">{{ text }}</div>export default {data() {return {text: 这是第一行\n这是第二行,};}, };<style sco…

php-golang-rpc 简单的jsonrpc实践

golang代码&#xff1a; package main import ( "net" "net/rpc" "net/rpc/jsonrpc" ) type App struct{} type Res struct { Code int json:"code" Msg string json:"msg" Data any json:"data" } fun…

Qu‘est-ce Que C‘est? 2023牛客暑期多校训练营4-J

登录—专业IT笔试面试备考平台_牛客网 题目大意&#xff1a;求满足如下条件的长度为n的数组数量&#xff1a;所有数字的范围在-m~m之间&#xff0c;任意连续的元素数量>1的区间的的区间和>0 1<n,m<5000; 思路&#xff1a;要让所有区间元素和>0&#xff0c; 我…

上门居家养老小程序社区养老小程序开发方案详解

居家养老管理社区养老小程序有哪些功能呢&#xff1f; 1.选择养老服务类型 医疗护理&#xff0c;家政服务预约&#xff0c;上门助浴、上门做饭&#xff0c;上门助餐&#xff0c;生活照护&#xff0c;康复理疗、精神慰藉、委托代办等。各项服务的详情介绍。 2.选择预约时间 选择…

【RabbitMQ】之持久化机制

目录 一、RabbitMQ 持久化机制 1、RabbitMQ 持久化概述2、队列持久化3、消息持久化4、交换器持久化 二、RabbitMQ 知识扩展 1、内存告警与内存换页2、磁盘告警与配置3、数据写入磁盘时机4、磁盘消息格式5、磁盘文件删除机制 一、RabbitMQ 持久化机制 1、RabbitMQ 持久化概述…

2023-07-31:用r、e、d三种字符,拼出一个回文子串数量等于x的字符串。 1 <= x <= 10^5。 来自百度。

2023-07-31&#xff1a;用r、e、d三种字符&#xff0c;拼出一个回文子串数量等于x的字符串。 1 < x < 10^5。 来自百度。 答案2023-07-31&#xff1a; 大体步骤如下&#xff1a; 1.初始化一个字符串builder&#xff0c;用于构建结果字符串。 2.初始化一个字符变量c…

剑指offer10-I.斐波那契数列

学计算机的对这道题肯定不陌生&#xff0c;我记得是学C语言的时候学递归的时候有这道题&#xff0c;于是我就世界用递归写了如下代码&#xff1a; class Solution {public int fib(int n) {if(n1) return 1;if(n0) return 0;return (fib(n-1) fib(n-2)) % 1000000007;} } 到…

ubuntu22.0安装Barrier局域网共享鼠标键盘

ubuntu22.0安装Barrier局域网共享鼠标键盘 参考网站安装步骤客户端一直开启中解决 参考网站 https://idroot.us/install-barrier-ubuntu-22-04/ 安装步骤 sudo apt update sudo apt upgrade sudo apt install wget apt-transport-https gnupg2 software-properties-common s…

rdb和aof

RDB持久化&#xff1a;原理是将Redis在内存中的数据库记录定时dump到磁盘上的RDB持久化AOF持久化&#xff1a;原理是将Redis的操作日志以追加的方式写入文件 rdb&#xff1a; 开启方式&#xff1a;客户端可以通过向Redis服务器发送save或bgsave命令让服务器生成rdb文件&#…

【Linux】更换jdk版本

目录 一、前言二、查看jdk版本号1、项目中的版本号&#xff08;pom.xml&#xff09;2、服务器中的版本号 三、更换jdk版本1、创建java文件夹2、下载并解压JDK安装包①、下载jdk安装包②、移动到创建好的/usr/local/java路径下③、解压jdk安装包 四、删除原来的jdk版本1、删除原…