两句话讲清楚windows安装wsl和docker
文章目录
写在前面
- 背景:win10/win11,微软商店打不开(打得开还不简单?能打开你直接搜别的攻略得了)
- 准备: - 先直接说一个结论:不要考虑 Docker Desktop,你都装wsl了,为什么还要用这玩意儿!此外,即使你想用,后续会遇到一个问题(怎么在wsl的linux系统里重启docker服务,没错,
systemctl restart docker
会显示找不到docker服务,即使你能正常使用docker)- 不考虑微软商店安装,不多比比,很多原因导致你的微软商店打不开,不折腾了,走离线安装,听我的。如果你能打开微软商店,很多事情就变得简单了,你自己看着办吧。
解决方案
- 下载安装wsl2:1. 先确认你的系统能不能安装wsl2,不能就赶紧放弃(我是22H2)> https://docs.docker.com/desktop/install/windows-install/> > > - Windows 11 64-bit: Home or Pro version 21H2 or higher, or Enterprise or Education version 21H2 or higher.> - Windows 10 64-bit:- We recommend Home or Pro 22H2 (build 19045) or higher, or Enterprise or Education 22H2 (build 19045) or higher.- Minimum required is Home or Pro 21H2 (build 19044) or higher, or Enterprise or Education 21H2 (build 19044) or higher.2. 很好,你满足了系统要求,已经成功一半了。继续 配置环境1. 启动控制面板,打开hyperV、适用于Windows的linux子系统、虚拟机功能,然后重启2. 下载wsl2安装包:wsl_update_x64.msi,双击安装
- 下载系统,比如ubuntu啥的1. https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#downloading-distributions命令行下载、或者点击直接下载都可以,下载后是
.appx
后缀的文件2. 把这个.appx
的文件复制到你想要放置系统的位置,比如D:\ubuntu22\
下,右键解压缩(解压不了,就把后缀.appx
改为.zip
再解),解压后的文件列表如下:3. 双击红色箭头指的文件就可以开始安装系统了,启动!完事儿后会让你输入用户名和密码,用户名就不说了,密码是未来你sudo要用的密码。4. 安装完成后,开始菜单里面就能看到ubuntu了,双击打开。或者直接在命令行中输入ubuntu,也能打开。(打开后不要关,下面验证的时候,state才会显示为running)5. 检查安装好了没:wsl --list --verbose
6. 备注:如果要卸载:wsl --unregister Ubuntu
- 环境配置:1. wsl默认版本设置为2,ubuntu默认设置为wsl2其实这一步可以不做,如果你能正常进入ubuntu的话,不过有的教程做了,保险起见吧,先把这两行在powershell管理员启动里面跑了再说
wsl --set-default-version 2wsl.exe --set-version Ubuntu 2
2. systemctl命令启动- wsl安装的ubuntu里是没法用systemctl的,因为是init> WSL2 本身是由 Windows 负责运行的,因此使用 tree 或 ps 命令时会看到根进程不是 systemd,这将导致无法启动 Linux 系统服务的守护进程(deamon)。当我们执行 systemctl 命令的时候,会显示出我们的 init system (PID 1) 并非 systemd,而是微软提供的 /init。- 太坑爹了是吧,别搜,听我的,现在网上一堆解决问题,其实已经outdated,因为微软已经解决了!> https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/> > Systemd support is now available in WSL!> > - 所以这事儿简单,听微软的1. sudo创建文件:/etc/wsl.conf
2. 写入以下内容并保存:[boot]systemd=true
3. 关掉ubuntu,关掉wsl的窗口,启个命令行关掉wslwsl --shutdown
4. 重新打开就发现systemctl
能用了,这一步是干啥呢,后面systemctl restart docker
改docker镜像要用啊3. root启动:su- 你直接su
,然后输入密码是报错的:su: Authentication failure
- 怎么解决呢:sudo passwd root
,重新输入密码就行了,后面直接su进入root用户开搞,不然什么都要sudo,麻烦的嘞 - 配置ubuntu的源(22.04)1. 备份原来的:
cp /etc/apt/sources.list /etc/apt/sources.list.bak
2. 修改并更新:vim /etc/apt/sources.list``````# 选一家的就行了# aliyundeb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse# tsinghuadeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiversedeb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiversedeb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiversedeb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiversedeb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiversedeb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse# 中科大deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiversedeb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiversedeb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiversedeb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiversedeb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiversedeb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiversedeb https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiversedeb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiversedeb https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiversedeb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse# 163deb http://mirrors.163.com/ubuntu/ jammy main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ jammy main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse
3. 刷新:apt-get update && apt-get upgrade
- 下载安装docker并配置国内代理:在wsl2中安装Docker,非Docker Desktop方案1. 安装必要的证书并允许 apt 包管理器使用以下命令通过 HTTPS 使用存储库
aptinstall apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
2. 运行下列命令添加 Docker 的官方 GPG 密钥:curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo apt-key add -
3. 添加 Docker 官方清华 库add-apt-repository \"deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable"
4. 安装dockeraptinstall docker-ce docker-ce-cli containerd.io docker-compose
5. 配置docker国内源:docker就没辙了,默认源肯定不行,所以- 创建文件/etc/docker/daemon.json
- 写入下面内容并保存{"registry-mirrors":["https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://docker.jsdelivr.fyi","https://dockertest.jsdelivr.fyi","https://mirror.aliyuncs.com","https://dockerproxy.com","https://mirror.baidubce.com","https://docker.m.daocloud.io","https://docker.nju.edu.cn","https://docker.mirrors.sjtug.sjtu.edu.cn","https://docker.mirrors.ustc.edu.cn","https://mirror.iscas.ac.cn","https://docker.rainbond.cc"]}
- 重载和重启:好家伙,这时候systemctl
就能用上了, 这个地方卡了我好久,气死了家人们systemctl daemon-reloadsystemctl restart docker# 开机自启dockersystemctl enable docker
- 检查一下docker换源成功没:docker info
,往下翻,Registry Mirrors里面就是你的源6. 验证一下docker好不好使吧:docker pull hello-world
最后:其实我不是很明白5中一顿操作安装
docker-ce
,还不如直接
apt install docker.io
https://blog.csdn.net/harryhare/article/details/106015022
- docker-ce 是 docker 官方维护的
- docker.io 是 Debian 团队维护的
- docker.io 采用 apt 的方式管理依赖
- docker-ce 用 go 的方式管理依赖,会自己管理所有的依赖。
- ☁️ 我的CSDN:
https://blog.csdn.net/qq_21579045
- ❄️ 我的博客园:
https://www.cnblogs.com/lyjun/
- ☀️ 我的Github:
https://github.com/TinyHandsome
- 🌈 我的bilibili:
https://space.bilibili.com/8182822
- 🍅 我的知乎:
https://www.zhihu.com/people/lyjun_
- 🐧 粉丝交流群:1060163543,神秘暗号:为干饭而来
碌碌谋生,谋其所爱。🌊 @李英俊小朋友
本文转载自: https://blog.csdn.net/qq_21579045/article/details/143155408
版权归原作者 李英俊小朋友 所有, 如有侵权,请联系我们删除。
版权归原作者 李英俊小朋友 所有, 如有侵权,请联系我们删除。