官方手册供参考:https://docs.docker.com/desktop/windows/
一:什么是Docker?
Docker 是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。 Docker允许用户将基础设施(Infrastructure)中的应用单独分割出来,形成更小的颗粒(容器),从而提高交付软件的速度。
Docker容器与虚拟机类似,但二者在原理上不同。容器是将操作系统层虚拟化,虚拟机则是虚拟化硬件,因此容器更具有便携性、高效地利用服务器。 容器更多的用于表示 软件的一个标准化单元。由于容器的标准化,因此它可以无视基础设施(Infrastructure)的差异,部署到任何一个地方。另外,Docker也为容器提供更强的业界的隔离兼容。
二:安装Docker
在安装之前,Windows 版 Docker 的环境有以下要求。
Windows 10 Pro(专业版) / Enterprise(企业版) / Education(教育版)(1607 Anniversary Update、Build 14393 或者更新的版本)。
Windows 必须是 64 位的版本。
需要启用 Windows 操作系统中的 Hyper-V 和容器特性。
接下来的步骤会假设读者的计算机已经开启了 BIOS 设置中的硬件虚拟化支持。如果没有开启,读者需要在机器上执行下面的步骤。
首先,读者需要确认在 Windows 10 操作系统中,Hyper-V 和容器特性已安装并且开启。
-
右键单击 Windows 开始按钮并选择“应用和功能”页面。
-
单击“程序和功能”链接。
-
单击“启用或关闭Windows功能”。
-
确认Hyper-V和容器复选框已经被勾选,并单击确定按钮。
(可选)新建文件hyper-V.cmd将以下内容copy并执行
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
(可选)新建文件containers.bat将以下内容copy并执行
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*containers*.mum >containers.txt
for /f %%i in ('findstr /i . containers.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del containers.txt
Dism /online /enable-feature /featurename:Containers -All /LimitAccess /ALL
pause
(一)安装WSL2
WSL,即Windows Subsystem on Linux,中文叫“适用于 Linux 的 Windows 子系统”。可以在windows里,直接启动一个linux系统。因为docker依赖linux内核,只能在linux下使用,windows就需要安装linux虚拟机来运行,而微软已经在win10内置了一个轻量级虚拟机,WSL2 便是运行在虚拟机上的一个完整的 linux 内核,所以需要利用WSL2安装docker。
微软要求 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11
设置->更新和安全->操作系统内部版本信息
下载wsl2需要的linux内核:
``网址: https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-kernel`
点击下载最新的更新包,下好后双击运行安装即可。
(二)安装Docker Desktop for Windows
https://www.docker.com/products/docker-desktop/
下好后直接双击运行安装即可
(三)更改镜像源
在国内从官方的DockerHub拉取镜像经常会比较感人,所以我们需要利用国内的镜像源或者加速器
科大镜像:https://docker.mirrors.ustc.edu.cn/
网易:https://hub-mirror.c.163.com/
{
"registry-mirrors": [
"https://1nj0zren.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"http://f1361db2.m.daocloud.io",
"https://registry.docker-cn.com"
],
"insecure-registries": [],
"debug": true,
"experimental": false
}
也可以用阿里云,需要到阿里云官网获取。
当配置某一个镜像源地址之后,若发现拉取不到镜像,切换一个地址就行。
(四)更改数据存储位置
Windows下的docker默认安装在C盘,所以为了拯救我们可怜的C盘,就需要把数据存储到其他盘。
1.停止docker服务
2.备份数据到另一个文件夹
wsl --export docker-desktop-data "D:\DockerData\docker-desktop-data.tar"
3.删除原有数据
wsl --unregister docker-desktop-data
4.更改数据存储盘并恢复数据
wsl --import docker-desktop-data "D:\DockerData" "D:\DockerData\docker-desktop-data.tar" --version 2
即将备份数据导入到新的虚拟盘,且指定虚拟盘的存放路径为E:\DockerData,导入完成后在该目录下会存在一个ext4.vhdx的虚拟磁盘路径
然后启动docker就可以啦
Windows下安装Docker详细过程及问题解决
windows10家庭版安装docker踩坑
windows 10更改WSL Docker镜像目录
An unexpected error was encountered while executing a WSL command.