赞
踩
我们知道docker的安装一般我们是安装在linux系统上的,但是如果你的宿主机是windows,那么你还想装docker,那么就需要现在你的windows上装上虚拟机,虚拟机上装linux操作系统,然后在Linux操作系统上再去安装docker,这样比较麻烦。
docker desktop的出现就可以解决上面那个问题,你只需要在windows上开启虚拟化功能,然后安装一下docker desktop就可以了。
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开启虚拟机 -直接全选
管理员权限在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
上面的命令是启动虚拟机的功能。
首先下载;
下载地址:
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
下载完成之后,进行安装。 如果你的系统已经安装了它直接让你点finish
安装完成之后,将wsl2设置为默认版本。
wsl --set-default-version 2
完成之后,重启电脑。
到官网上下载
https://docs.docker.com/desktop/windows/install/
下载完成之后,点击OK安装,确认系统重启,完成之后,就可以使用了
坑比较多…
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/
原因分析
问题出在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.csdn.net/MyronCham/article/details/125216511
修改默认配置项,setting修改保存目录到D盘;不然C盘可能不够用
修改镜像源:
默认已经设置了163的镜像源了;可以根据需要改成你自己的私仓
这里提供了其他公司的镜像源
"registry-mirrors":[
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
],
打开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
在管理界面查看启动日志
在安装完 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
下载
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
docker desktop 安装K8S
https://zhuanlan.zhihu.com/p/363892883
docker desktop 安装dashboard
https://blog.csdn.net/qq_35909525/article/details/129401661
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。