原文:
https://post.smzdm.com/p/a259kqlp/
创作立场声明:老白的踩坑记录
嗨,大家好!前几日老白对Docker for Windows进行了一个初步的安装测试,总体感觉确实比较慢。在文末也提到了我的新发现,于是一顿神操作卸载再试一波。 看看Docker Desktop WSL 2 backend什么样?
手把手教你踩坑:老白的Docker for Windows安装初探计划着将家里的nas改成基于windows的,很好奇windows下的docker是什么样,于是就有了这篇。文末有此次踩坑记录的全总结。Windows下的docker百度了一下,Windows下的docker似乎没什么好评。知乎评论在这中间,也有一位用户提到,DockerToolbox已经很久没有维闲嗑瓜子|赞39评论30收藏227查看详情
万事不明先看文档
是的,没错,好好阅读,相信我。
操作指南:Install Docker Desktop on Windows Home
1、明确安装要求
安装要求详解
要使用Docker Desktop WSL 2 backend,有两个条件,我们分开来说。
Windows 10版本升级到2004或更高
“Running Windows 10, updated to version 2004, Build 19041 or higher.”
很显然我们之前测试的版本是不符合要求的,因此必须要进行升级。建议使用微软推荐的Windows 10升级助手来进行,直接升级到最新版本。
下载地址:Windows 10 更新助手
附上我的升级过程,会创建一个恢复分区,有点讨厌。
win10 update
升级完成
升级到WSL2
操作指南:适用于 Linux 的 Windows 子系统安装指南 (Windows 10)
分几步走,步子太大容易扯着蛋。教程上比较清楚,可是我有我的路子。
(1)启用“适用于 Linux 的 Windows 子系统”
(2)启用“虚拟机平台”可选组件
此处微软并没有明确说明是要启用Hyper-V,我之前已经启用了。
启用linux子系统,开启虚拟机平台
此时按教程转换WSL版本会提示需要更新内核组件,所以还是按我的顺序来吧。
(3)安装所选的 Linux 分发版
版本的选择没有什么可说,直接选了评分最多的Ubuntu,也就这个稍微知道一点。 关于商店点击获取无反应的,可以参考这个操作:按下Windows 键和R,在对话框中输入wsreset,点击确定,等待程序运行完毕自动打开应用商店。
完成,设置用户名密码
(4)更新 WSL 2 Linux 内核
下载地址:WSL 2 Linux 内核
更新WSL 2内核
(5)完成WSL版本转换
转换过程
2、安装Docker Desktop
下载地址:Docker Desktop for Windows
操作指南:Install Docker Desktop on Windows Home
安装包是一样的。根据上次的经验,直接安装至完成,此过程就不啰嗦了。
运行教程
本地正常打开
设置上的区别
3、容器实例
安装完成,我们直接跑两个试试。
typecho&portainer
Portainer
再次阅读文档,解决掉上篇文章中所说的8000为什么不能用的问题,这个是给edge的版本准备的。不使用即可不设置。果然认真读文档是有道理的,解决上篇遗留问号。
操作指南:Quick start
8000端口的解释
portainer运行正常
Typecho(博客程序)
我们通过portainer来创建typecho博客,毕竟命令这东西,不是我这种菜鸟擅长的。可以看到之前镜像已经下载,显示未使用。
typecho镜像
Docker HUB 查看一下命令参数:
命令参数
在这里,typecho需要一个data的文件夹存储数据,我在个人目录下新建了一个typecho/data,并在portainer中设置了对应关系。设置其他参数后即可点击部署。
容器和Linux目录的对应关系
目录文件变化
当我们从portainer中点击对应的容器链接时,会出现下列无法访问的情况。
无法访问
其实这里直接输入本机ip+端口号即可访问。我按照查找到的教程,将endpoints-local中的public IP设置为了本机地址,可以打开了。这里埋下一颗雷,我们稍后再说。
endpoints调整
开始安装typecho,简单几步输入就完成了。
type安装
type安装完成
看一下数据目录的变化。
data目录的变化
解决Portainer故障
重启了一次机器,再打开Portainer时便出现了故障。
连接不上
由于之前更改了endpoints设置,不如恢复看看。结果问题解决了。
去掉本地ip设置
重启docker
测试了一下,我们从docker for windows的面板中去访问是没问题的,但是通过portainer界面访问,会直接指向0.0.0.0,所以呢,打不开。
从这里访问正常
====================================================================
到了这里,安装初探任务基本就结束了。相信万能的值友们都已经知道怎么折腾了。
Docker Desktop WSL 2 backend什么样,通过安装已经有了一个初步认识。具体使用怎么样呢?相比之前的版本,我只能说,确实很快!重启容器、重启docker的速度相比之前的版本要块太多了。
我将在下一篇中从一只菜鸟的角度说一说通过阅读官方文档、简单测试总结的肤浅理解。感谢值友的阅读支持!