文章目录
简介
我们知道docker的安装一般我们是安装在linux系统上的,但是如果你的宿主机是windows,那么你还想装docker,那么就需要现在你的windows上装上虚拟机,虚拟机上装linux操作系统,然后在Linux操作系统上再去安装docker,这样比较麻烦。
docker desktop的出现就可以解决上面那个问题,你只需要在windows上开启虚拟化功能,然后安装一下docker desktop就可以了。
windows11安装docker desktop
4.39.0已经取消了4.38.0中的可选配置项,默认Use WSL 2 instead,因此新版基本是无脑操作,直接点OK开始中间无任何配置项可选。4.39.0版本[默认无配置项可选]
安装须知
4.39.0已经取消了4.38.0中的可选配置项,默认Use WSL 2 instead,因此新版基本是无脑操作,直接点OK开始中间无任何配置项可选。新版本中以下内容都是拓展阅读部分,仅作为早期版本[低于4.39.0版本]安装的操作指南使用。
选择 WSL 2 还是 Hyper-V 后端?
Windows 11 用户在使用 Docker Desktop 时,可以选择 WSL 2 或 Hyper-V 作为后端运行环境(docer运行环境)。这两种方案各有特点,你可以根据自身需求进行选择:
- WSL 2 比较适合开发环境。
- Hyper-V 则更适用于生产环境,特别是在需要高性能和稳定性的情况下。
1.基础要求
不管选择哪种后端方案,你的设备都必须满足以下基本条件:
前提条件 | 要求 |
---|---|
系统版本 | Windows 11 家庭版、专业版、企业版或教育版(22H2 或更高版本) |
CPU | 支持 SLAT (二级地址转换) 的 64 位处理器 |
内存 | 至少 4GB 系统内存 |
BIOS/UEFI | BIOS/UEFI 中已经开启硬件虚拟化支持 |
2 后端要求
前提条件 | WSL 2 后端 | Hyper-V 后端 |
---|---|---|
后端要求(至少需要启用一项) | 启用 WSL 2 | 启用 Hyper-V 和容器 |
3 注意事项
如果你需要运行 Windows 容器,必须使用 Windows 11 专业版或企业版。家庭版和教育版默认未安装Hyper-V服务。
使用「Hyper-V 后端」时,容器和镜像会在所有用户账户之间共享,因为所有账户都使用同一个虚拟机。
使用「WSL 2 后端」时,容器和镜像无法在用户账户之间共享。
安装时desktop默认推荐优先使用 WSL 2 作为后端,但是个人建议使用Hyper-V,下面的方式也是Hyper-V 安装和WSL安装都有
Hyper-V 模式和WSL启用安装
两种方式二选一,当然也可以都操作不影响。
开启虚拟机服务Hyper-V
Windows 11
如果您的系统不是专业版的,需要安装wsl.DockerDesktop和wsl
专业版直接勾选hype-v开启虚拟机
Windows的设置–应用-可选功能-更多windows功能-hype-v勾选
家庭版要安装hype-v服务
保存文件为hype-v.bat右键管理员运行脚本
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
最后一步点击Y会重启电脑,完成安装。
家庭版打开勾选hype-v开启虚拟机 -直接全选
启动WSL服务即Linux系统和虚拟机
安装新版的docker desktop.exe时如果勾选了「Use WSL 2 instead of Hyper-V (recommended)」选项,则会默认自动安装,可以跳过这里的手动安装部分;
手动启用WSL和容器服务
管理员权限在power shell中执行以下几个命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
该命令是授权可以启动WSL(为Linux启用Windows子系统)
WSL是linux操作系统内核的一些组件,其实我们虽然是在windows下进行安装docker 实际上我们的docker还是跑在了Linux上的,这就是为什么我们需要用WSL的原因。
上面的命令执行完成之后,执行下面的语句:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
上面的命令是启动虚拟机的功能。
更新wsl2新版的Linux
首先下载;
下载地址:
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
下载完成之后,进行安装。 如果你的系统已经安装了它直接让你点finish
安装完成之后,将wsl2设置为默认版本。
wsl --set-default-version 2
完成之后,重启电脑。
安装docker desktop installer
到官网上下载
https://docs.docker.com/desktop/setup/install/windows-install/
自定义安装目录,默认安装C盘(默认安装的直接跳过这一步)
1.创建好文件夹D:\Program Files\Docker\data
cmd执行下面的脚本,然后再点击安装程序
start /w "" "Docker Desktop Installer.exe" install -accept-license --installation-dir="D:\Program Files\Docker" --wsl-default-data-root="D:\Program Files\Docker\data" --windows-containers-default-data-root="D:\\Program Files\\Docker"
4.39.0版本[默认无配置项可选]
4.39.0已经取消了4.38.0中的可选配置项,默认Use WSL 2 instead,因此新版基本是无脑操作,直接点OK开始中间无任何配置项可选,完成后点击close and restart重启即可。
直接使用默认配置
点是会进行WSL的下载和安装,不要点否,否则你需要手动安装WSL
报以上异常是因为WSL还没有下载安装完成,你可以看到控制台的下载进度,版本是2.4.13但是网速可能偏慢。等等再操作
以上状态说明已经安装完成,再次打开dockerDesktop会弹窗如下,说明启动成功。
安装完成后,需要配置文件位置信息
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"debug": true,
"experimental": false,
"features": {
"buildkit": true
},
"insecure-registries": [
"10.17.65.13"
],
"registry-mirrors": [
"https://eph8xfli.mirror.aliyuncs.com",
"https://mirror.ccs.tencentyun.com",
"https://reg-mirror.qiniu.com",
"https://docker.mirrors.ustc.edu.cn",
"https://dockerhub.azk8s.cn",
"https://hub-mirror.c.163.com",
"https://registry.docker-cn.com"
]
}
insecure-registries为私有仓库地址,根据自己的私有仓库配置。
完成.
4.38.0版本[可选配置]
1.前往 Docker 官网下载「Docker Desktop Installer.exe」安装程序。
2右键点击安装程序,选择「以管理员身份运行」。
3根据你的需求,勾选或取消「Use WSL 2 instead of Hyper-V (recommended)」选项:
勾选:表示使用 WSL 2 后端,会自动安装WSL2服务和子系统
取消:表示使用 Hyper-V 后端
点击OK安装,确认系统重启,完成之后,就可以使用了
坑比较多…
win11 安装docker desktop 打开报错?An unexpected error occurred. Restart Docker Desktop
docker desktop 打开报错,An unexpected error occurred. Restart Docker Desktop
We’ve release docker Desktop 4.20.1, containing a fix for this issue, so I’m closing this issue.
For more information, head to
https://docs.docker.com/desktop/release-notes/.
更新时间:2023/06/12
官方已经上周发布的最新版本4.20.1修复此问题
https://docs.docker.com/desktop/release-notes/
Windows10启动Docker报错:Hardware assisted virtualization and data execution protection must enabled BIOS
原因分析
问题出在Hyper-V已禁用或Hypervisor代理未运行。
解决方案
方案一 (如果完全禁用或未安装Hyper-V)
docker desktop 基于windows hyper-v,必须确保hyper-v组件已经开启。可通过如下PowerShell (管理员身份)命令启动。
以管理员身份打开CMD
启用Hyper-V
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
或者在启用和关闭windows功能中先禁用Hyper-V,重启后再开启。
方案二 (如果Hyper-V功能已启用但不起作用)
hyper-v组件开启后,需确保其守护进程自动运行(我问题出在这里,守护进程没有运行),可通过如下PowerShell(管理员身份) 命令启动:
bcdedit /set hypervisorlaunchtype auto
重启电脑,启动docker desktop,即可正常运行。我重装时是把方案一,二都执行了一遍可以了
原文链接:https://blog.youkuaiyun.com/MyronCham/article/details/125216511
docker Destktop配置并打包docker镜像
修改默认配置项,setting修改保存目录到D盘;不然C盘可能不够用
修改镜像源-配置公共镜像源和私有镜像源
默认已经设置了163的镜像源了;可以根据需要改成你自己的私仓
这里提供了其他公司的镜像源
"insecure-registries": [ "10.10.01.13"],
"registry-mirrors": [
"https://eph8xfli.mirror.aliyuncs.com",
"https://mirror.ccs.tencentyun.com",
"https://reg-mirror.qiniu.com",
"https://docker.mirrors.ustc.edu.cn",
"https://dockerhub.azk8s.cn",
"https://hub-mirror.c.163.com",
"https://registry.docker-cn.com"
]
insecure-registries:默认为空,配置私有仓库(一般为企业内部的harbor仓库,需要账号登录),
registry-mirrors:配置公有仓库镜像源
使用Dockerfile 构建镜像并启动
打开cmd,到Dockerfile的路径(请把dockerfile单独放到一个目录)。
FROM openjdk:11
MAINTAINER bamoo
ADD springboot-demo.jar springboot-demo.jar
RUN echo "Asia/Shanghai" >/etc/timezone
RUN sh -c 'touch /springboot-demo.jar'
ENV JAVA_OPTS=""
CMD exec java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /springboot-demo.jar
EXPOSE 8000
#构建镜像
docker build . -t springboot-demo:v1 -f Dockerfile
#查看镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
springboot-demo v1 3ed4b8bc215f 26 minutes ago 140MB
##把镜像导出到本地磁盘中
docker save -o ./springboot-demo.tar springboot-demo:v1
## 删除镜像中的镜像源
docker rmi springboot-demo:v1
##查看没有了
docker images
##把磁盘镜像文件导入镜像中
$ docker load < ./springboot-demo.tar
##查看又加载回来了
docker images
## 运行镜像,也可也在管理界面中运行
docker run -d -p 8000:8000 --name demo-test springboot-demo:v1
#查看镜像容器进程是否启动
docker ps -a
#直接本地访问,返回数据运行正常
curl localhost:8000
hallo springboot
管理界面启动镜像和查看日志
步骤如下1,2
在管理界面查看启动日志
安装 K8S(非必须)
在安装完 Docker desktop 之后, 我们利用 Docker desktop 来安装 K8S
这里有两种方式,这里直接选择方式二在线安装
方式一: 下载 k8s-for-docker-desktop (预先下载镜像)
具体参考 https://github.com/AliyunContainerService/k8s-for-docker-desktop
方式二: 直接安装 ( 确保可以直接下载 K8S 相关镜像 )
选择 enable Kubernetes 之后, 选直接 Apply 即可, 期间一直会出现 starting 状态, 表示在自动下载相关镜像.
安装中
安装完成可以看到容器中已经运行了不少K8S
安装完成
使用如下命令验证 K8S 是否安装成功
kubectl get nodes
得到如下输出, 说明 K8S 已经安装完成
NAME STATUS ROLES AGE VERSION
docker-desktop Ready master 3h v1.19.7
安装dashboard
下载
https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml
修改kubernetes-dashboard的Service类型,新新增注释的信息
# 修改kubernetes-dashboard的Service类型
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort # 新增
ports:
- port: 443
targetPort: 8443
nodePort: 30009 # 新增
kubectl create -f recommended.yaml
kubectl proxy
# 创建账号
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
# 授权
kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
#查看账号
kubectl -n kubernetes-dashboard get sa
#根据账号生成token
kubectl create token -n kubernetes-dashboard dashboard-admin
输入token字符串登录即可
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login
参考文章
2025/04/03更新补充安装须知
docker desktop 安装K8S
https://zhuanlan.zhihu.com/p/363892883
docker desktop 安装dashboard
https://blog.youkuaiyun.com/qq_35909525/article/details/129401661
Windows 11:Docker Desktop 安装和配置指南
https://www.sysgeek.cn/install-docker-desktop-windows-11/