前言
最近看到2004的更新预告,好奇查了下更新内容,发现家庭版可以使用docker了
之前只有专业版可以装,因此对于我这种只有win10 Home的开发者来说是非常好的消息了
本文目的:
在win10-v2004版本下(必须),安装docker
流程概述
① 开启windows相关功能
② 安装wsl
③ 安装Docker Desktop for Windows
④ 配置Docker Desktop for Windows
⑤ 最后测试
安装过程
① 开启windows功能
打开管理员模式的PowerShell
,输入下面2段话
- 启用WSL(Windows-Subsystem-Linux)
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- 启用虚拟机平台VirtualMachinePlatform
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
然后重启计算机
② 安装wsl
在win store中安装ubuntu(也可以选择其他版本的linux,这里因为我比较熟悉ubuntu)
然后启动,初始化后需要设置一个非root的用户名和密码
成功进入ubuntu系统后可以看看风景,再安装wsl2内核
下载地址: https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-kernel
安装完成后在
powershell
中输入 wsl --set-default-version 2
,将默认wsl的版本设置为2
③ 安装Docker Desktop for Windows
下载win下的Docker Desktop for Windows
地址: https://hub.docker.com/editions/community/docker-ce-desktop-windows/
左边是稳定版,右边是前沿版,这里推荐下载稳定版
安装时一路下一步就行了
④ 配置Docker Desktop for Windows
主要是镜像源的问题,除非肉身出墙,国内的网络下原版的image速度根本没法看...
进入到Docker Engine
他的配置是一段json,将
registry-mirrors
处修改为如下:(2个可以同时使用,或者选一个.记得删掉注释)
{
"registry-mirrors": [
# 中科大
"https://docker.mirrors.ustc.edu.cn",
# DaoCloud
"http://f1361db2.m.daocloud.io"
]
}
其他一些设置比如是否开机启动,是否发送用户反馈等,自行设置
K8S我没研究过,不献丑了.毕竟穷,用不起集群
⑤ 最后测试
Docker Desktop
内置的shell不是很好用,我感觉有点延迟
因此这里顺便推荐下Windows Terminal
,可以在Win商店下载
当然,你使用Powershell
或者CMD
也都可以
这里我拿redis
作为案例
-
docker -v
: 检查版本,并确认已安装 -
docker pull redis
: 拉取reids
-
docker run --name my-redis -p 6379:6379 -d redis
: 创建并后台启动
最后拿RDM测试下
至此,配置完成
其他补充,关于wsl-linux(ubuntu)
一些关于ubuntu的屁话放这里
ubuntu免密登陆
如果觉得每次登陆wsl-ubuntu需要输密码很麻烦
可以在powershell
进行以下设置来免除每次sudo -i
时需要密码
- 查看wsl-ubuntu的安装位置,默认情况下应该在
C:\Users\YOUR_USERNAME\AppData\Local\Microsoft\WindowsApps
(注意替换自己的用户名).
我的wsl-ubuntu则是ubuntu2004.exe
- 执行命令
ubuntu2004.exe config --default-user root
修改ubuntu20.04的镜像源
- 先将原来的备份,
mv /etc/apt/sources.list /etc/apt/sources.list.bk
- 修改为清华的源,
/etc/apt/sources.list
将以下内容贴到文件中
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
然后就可以愉快的apt update & apt upgrade
了
修改wsl-ubuntu的wsl版本
可以通过wsl -l -v
来查看所有wsl所使用的版本,输入后你会发现
NAME STATE VERSION
* Ubuntu-20.04 Stopped 1
如果希望ubuntu系统使用wsl2的话可以输入
# Ubuntu-20.04是根据你的linux版本而定
# 最后的 2 代表wsl版本,如果希望切换回1则输入1
wsl --set-version Ubuntu-20.04 2
关于wsl1和wsl2的性能可以参考: https://www.ithome.com/0/463/355.htm
总结:1比较稳定,2有些时候比较快.选哪个都差不多吧
一些不确定因素
通篇看下来就会发现一点,安装docker的过程中,wsl-ubuntu根本没用到,但还是装了
因为官方教程就是这么写的
我猜测可能只是为了借助他来安装wsl1
或者在开启wsl服务后直接安装wsl2,也可能可以安装docker
如果有兴趣你可以自己测试下
参考
- docker-win下安装docker: https://docs.docker.com/docker-for-windows/install/
- win10-wsl的安装: https://docs.microsoft.com/zh-cn/windows/wsl/install-win10
- 设置wsl-ubuntu密码: https://www.howtogeek.com/261417/how-to-change-your-user-account-in-windows- 10s-ubuntu-bash-shell/ , https://blog.csdn.net/qq_44863067/article/details/106419040?fps=1&locationNum=2
- docker国内镜像: https://lug.ustc.edu.cn/wiki/mirrors/help/docker , https://www.daocloud.io/mirror
- 修改ubuntu镜像源: https://blog.csdn.net/xiangxianghehe/article/details/105688062