Windows下安装Docker Desktop
- *Docker Engine
我们通常所说的docker,是指Docker Engine,它是一种容器化技术,用于创建和运行容器。- *Docker Desktop
Docker Desktop是一个用于操作docker的GUI图形界面化工具,它包含Docker Engine。
安装前须知:
https://docs.docker.com/desktop/faqs/windowsfaqs/
1.Windows下安装Docker Desktop
注意事项:
- 如果是Windows 7、Windows8 或 Windows Server 用户,建议在虚拟机中安装docker。
- Windows下安装docker可能会有遇到各种问题,如果多次尝试不成功,建议在虚拟机中安装docker。
- 如果你电脑上安装了最新版的VMware或VirtualBox,他们可能有冲突。因为Docker 在 Windows 主机中启用 Hyper-V,而Virtualbox 6.1.30,是在Windows上启用Hyper-V的最后一个版本。
https://forums.virtualbox.org/viewtopic.php?f=6&t=105951
桌面版:https://www.docker.com/products/docker-desktop
服务器版:https://docs.docker.com/engine/install/#server
1.系统版本要求
- Windows 10 版本 20H2 或更高版本(内部版本 19042 或更高)
- Windows 11
- 在PowerShell中使用
winver
命令查看系统版本
2.启用虚拟化
在“任务管理器”的“性能”选项里查看虚拟化是否启用。如果没有,需要在BIOS中开启。
开启方法参考:https://bce.berkeley.edu/enabling-virtualization-in-your-pc-bios.html
3.安装docker desktop
下载Docker Desktop for Windows进行安装。出现以下界面,安装成功。
4. 启动报错解决
报错截图
解决方法:
控制面板->程序->启用或关闭 windows 功能,开启 Windows 虚拟化和 Linux 子系统(WSL2)
命令行安装 Linux 子系统(这步可能不需要,因为 docker 安装时有说自动安装 wsl)
wsl --install -d Ubuntu
命令行安装可能太慢,你也可以打开微软商店 Microsoft Store 搜索 Linux 进行安装
设置开机启动 Hypervisor
bcdedit /set hypervisorlaunchtype auto
注意要用管理员权限打开 PowerShell
确保 BIOS 已开启虚拟化,下图检查是否已开启好
如果是已禁用,请在开机时按 F2 进入 BIOS 开启一下,不会设置的可以网上搜索下自己主板的设置方法,Intel 和 AMD 的设置可能稍有不同
出现下图错误,点击链接安装最新版本的 WSL2
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
5.配置镜像站
由于访问docker hub网络比较慢,因此需要配置国内的容器仓库镜像站
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"features": {
"buildkit": true
},
"registry-mirrors": [
"https://reg-mirror.qiniu.com/",
"https://docker.mirrors.ustc.edu.cn/",
"https://hub-mirror.c.163.com/"
]
}
2.注意事项
- 挂载路径写法,windows路径使用
\
docker run --rm -ti -v C:\Users\user\work:/work alpine:3.15
- 开机启动Hypervisor
某些工具(例如旧版本的Virtual Box)和视频游戏安装程序会在启动时禁用虚拟机管理程序。需要要重新启用它。- 使用管理员权限打开命令行。
bcdedit /set hypervisorlaunchtype auto
- 关闭重新打开命令行窗口。
- 换行符
Docker 容器基于 Linux环境中运行,在容器内运行的文件都必须使用 linux 样式的换行符\n
,不能使用windows换行符\r\n
。
例如dockerfile文件,windows下的一些工具会默认使用windows换行符,因此这些文件在容器中运行可能会显示语法错误。
评论区