Windows安装Docker的总述
Docker 并非是一个通用的容器工具,它依赖于已存在并运行的 Linux 内核环境。Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的 Linux 主机。
因此Docker 必须部署在 Linux 内核的系统上。如果其他系统想部署 Docker 就必须安装一个虚拟 Linux 环境。 在 Windows 上部署 Docker 的方法都是先安装一个虚拟机,并在安装 Linux 系统的虚拟机中运行 Docker。
Win7、Win8 等操作系统需要利用 Docker Toolbox 来安装Docker,本文不做介绍。本方介绍在Win10操作系统下安装Docker的方法。
Docker Desktop软件是 Docker 在 Windows 10 和 macOS 操作系统上的官方安装方式,推荐使用这种方式。 这个方法依然属于先在虚拟机中安装 Linux 然后再安装 Docker 的方法。 注意:此方法仅适用于 Windows 10 操作系统专业版、企业版、教育版和部分家庭版!
系统要求
系统要求
-
WSL 版本 1.1.3.0 或更高版本。
-
Windows 11 64 位:家庭版或专业版 21H2 或更高版本,或者企业版或教育版 21H2 或更高版本。
-
Windows 10 64 位:
- 我们建议使用家庭版或专业版 22H2(内部版本 19045)或更高版本,或者企业版或教育版 22H2(内部版号 19045)或更高版本。
- 最低要求是家庭版或专业版 21H2(内部版本 19044)或更高版本,或者企业版或教育版 21H2(内部版本 19044)或更高版本。
-
在 Windows 上打开 WSL 2 功能。有关详细说明,请参阅 Microsoft 文档open_in_new .
-
成功运行需要以下硬件先决条件 Windows 10 或 Windows 11 上的 WSL 2:
- 64 位处理器 二级地址转换 (SLAT)open_in_new
- 4GB 系统内存
- 在 BIOS 中启用硬件虚拟化。有关详细信息,请参阅 虚拟化 。
Win10家庭版如何升级到专业版
安装Docker Desktop需要 Windows 10 操作系统专业版、企业版、教育版和部分家庭版。
重要: 若要运行 Windows 容器,需要 Windows 10 或 Windows 11 专业版或企业版。 Windows 家庭版或教育版仅允许运行 Linux 容器。
如果你已有专业版、企业版请跳过此步。如果你使用的是家庭版Win10操作系统,可选择升级到专业版。我已升级成功并把方法记录下如。参考文章: https://m.toutiaoimg.cn/i6930594287239299598/
- 查询可升级的版:dism /online /get-targeteditions
- 准备一个Win10专业版的秘钥key“VK7JG-NPHTM-C97JM-9MPGT-3V66T (请自己取得 秘钥key)
- 执行升级(在升级过程,要等待数分钟):changepk.exe /productkey VK7JG-NPHTM-C97JM-9MPGT-3V66T
一、Win10打开 Hyper-V虚拟机
Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。这是 Docker Desktop for Windows 所使用的虚拟机。
但是,这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!如果你必须在电脑上使用其他虚拟机(例如开发 Android 应用必须使用的模拟器),请不要使用 Hyper-V!
在Win10桌面左下角的Windows图标,右击“Windows图标”–应用和功能 -- 程序和功能--启用或关闭Windows功能,在打开的窗口中勾选Hyper-V( 如下图 ),点击“确定”,等待安装完成,按提示重启系统。完成。
二、Win10安装WSL2 (Windows Subsystem for Linux)
WSL介绍
WSL 是适用于 Linux 的 Windows 子系统(Windows Subsystem for Linux)。
有两个主要版本 : WSL1\ WSL2
WSL1介绍
WSL1 只是长得像 Linux 而已,虽然在这个子系统中,我们可以执行 Linux 程序,但是到了底层,WSL 调用的还是 win32 API。也就是说:WSL 只是一个适配层。
WSL1更加的轻量化,更加的省资源,相应的其对linux发行版模拟度就稍微差一些,比如docker之类的使用会很麻烦,但是比如说我们,只是用一些诸如ssh客户端链接设备,或者ping,iperf等轻度模拟的场景那么wsl1是很合适的。
WSL2介绍
后来,微软终于放出了 WSL2 这个真正的 Linux 子系统,这是一个真正的 Linux 完整内核,与传统的虚拟机 VitualBox、VMWare 一样,但是它与宿主机的互操作性更好。
功能比较
为什么要安装WSL2
因为当时我的Win10默认安装的是WSL1,启动Docker Desktop时报错了,因为它需要WSL2。
刚启动 Docker Desktop,提示以下错误 。意思是说 WSL 2 没有完整的安装。
如果要升级到 WSL2,Windows 操作系统的内核版本必须满足一定的要求,如下:
安装WSL2(通过Microsoft Store安装)
打开微软应用商店,搜索 Windows Subsystem for Linux ,并安装。
使用 WSL 终端
查看版本
查看版本: wsl -l -v
结果发现:适用于 Linux 的 Windows 子系统没有已安装的分发。 一下步要安装一个Linux发行版本。
使用‘wsl.exe --list --online’列出可用的分发
可用的Linux发行版
“适用于Linux的Windows子系统(WSL)”的Linux发行版的版本已增加至五种:
- Ubuntu
- openSUSE Leap 42
- SUSE Linux Enterprise Server 12
- Debian GNU/Linux
- Kail Linux
以一步我们将安装Ubuntu
三、安装 Ubuntu Linux 分发版本
通过微软应用商店通过Ubuntu
参考: https://www.jianshu.com/p/0aa542003b93
打开微软应用商店,搜索 Ubuntu,在列表中选择最新的长期支持版本 20.04 LTS 并安装。
等待一会按回车,根据提示创建用户名和密码
用户名:xxxx
密码:xxxx
Ubuntu的命令行窗口
在开始菜单中,找有 Ubuntu的命令行窗口。
具有Linux Ubuntu 20.04虚拟机映像的硬盘文件将位于用户配置文件中:
C:\Users\WIN10\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalCache
使用软件源镜像来提速
你在Ubuntu内安装软件,就要从软件源下载,为了提速将Ubuntu软件源改为 清华大学开源软件镜像站
清华大学开源软件镜像站
https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ 打开它,看到以下内容,copy它
在 Ubuntu的命令行下操作:
注意: 要以root用户身份运行命令,你需要使用(前缀)sudo
cd /etc/apt/ sudo mv sources.list sources.list.bak sudo touch sources.list sudo vi sources.list
# 然后将好倒霉镜像内容粘贴进来保存 (认为你会使用vi编辑器)
更新软件到最新
更新Ubuntu的软件到最新版本
在控制台窗口中,可以使用以下命令更新Ubuntu中的软件包列表:
sudo apt-get update (更新)(建立更新一下) sudo apt-get upgrade (升级)(不用升级) sudo apt-get update && sudo apt-get --assume-yes upgrade (更新+ 升级)
常见错误
如果更新时报错:Err:5 https://mirrors.tuna.tsinghua.edu.cn/ubuntu focal Release
在sudo apt update的时候,出现错误:39 https://mirrors.tuna.tsinghua.edu.cn/ ubuntu focal-security Relea
将更新源中的https改成http就可以了。
配置WSL2使用Ubuntu
查看默认启动的Linux发行版
进入CDM命令终端,查看 默认启动的Linux发行版。
使用命令: wsl -l -v
输入以下命令查看 WSL 版本: wsl -l -v
看到:* Ubuntu-20.04 Running 2 ,结果是满意的。
- *号表示是默认到发行版本是Ubuntu
- 2表示是WSL2
常用问题
输入以下命令查看 WSL 版本: wsl -l -v 如果看到以下信息:
发出两个问题:
- 看到version是1,我们的目标是要确保 WSL 的版本为 2
- 默认的不是Ubuntu ,我们想使用Ubuntu
设置默认启动的Linux发行版
如果显示当前不是 WSL 2 版本,可以通过以下命令设置 WSL 的默认版本
wsl --set-version Ubuntu-20.04 2
可使用wslconfig /s 命令将Ubuntu-20.04设置为默认Linux子系统。
命令:wslconfig /s Ubuntu-20.04 (全命令是: wslconfig /setdefault Ubuntu-20.04 )
进入wsl2终端的方法
Win10下打开任一命令行工具比如CMD,输入:
wsl,可进入wsl2终端
在windows的开始菜单中也可找到Ubuntu
查看Linux版本信息
cat /proc/version ,信息如下图。
四、Win10安装Docker Desktop
下载
Docker Desktop 官方下载地址: https://hub.docker.com/editions/community/docker-ce-desktop-windows (国外服务访问较慢)
安装
双击下载的 Docker for Windows Installer 安装文件,一路 Next,点击 Finish 完成安装。
参考文章 :Windows Docker 安装 https://www.runoob.com/docker/windows-docker-install.html
启动
找到图标双击启动Docker Desktop
启动起来后界面如下
检查
进入CDM命令行,查看版本: docker version,看到类似下图,就说明Docker Desktop安装成功了