本文是在使用WSL2编译立创泰山派SDK时的一些笔记,也整合了网上很多大佬解决WSL2安装Docker,以及repo等方法。
关于如何下载WSL2可以参考我的另一个博客:立创泰山派tspi-Windows11安装与配置WSL2用于Linux开发
本文的系统为Windows11 - Microsoft Windows [版本 10.0.22621.3007]
专业版
注意:编译SDK最好使用Docker,不然会有莫名其妙的错误,我就一直卡在这个问题,网上搜索似乎是网络问题。(希望有大佬指点一下)
(0) Docker的一些概念
Docker:是一个通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行。(太复杂了,简单理解就是类似于github,github是打包上传代码的,而docker是打包整个系统,这样你在别的地方运行代码就不会报错了)
镜像:“镜像是一个只读模板,带有创建Docker容器的指令。通常,一个镜像是基于另一个镜像的,还需要进行一些额外的定制。例如,您可以构建一个基于ubuntu镜像的镜像,但是安装Apache web服务器和您的应用程序,以及使您的应用程序运行所需的配置细节。”(简单来说,就是刚才说的打包好的系统)
容器:直接简单理解,就是运行镜像的。因此一个镜像可以生成很多个容器。
还可以类比成我们c++中的类和实例,镜像就是我们定义好的类,而容器就是实际创建的实例。
仓库:集中存放镜像文件的场所,全世界最大的仓库是Docker官方的 Docker Hub,这个就很好理解了就是类似github。国内一般使用阿里云或者网易云的镜像仓库。
(1)启动Hyper-V功能
注意:如果是在windows11家庭中文版上安装,是没有Hyper-V这个内置虚拟机的,需要自己手动安装,安装方法请参考这篇博客的8.1步骤。:超详细Windows11家庭中文版系统安装Docker-20230401_windows11安装docker-CSDN博客
在控制面板>程序>程序和功能
,启动Hyper-V功能。
(2)下载Docker Desktop
参考:解决在Windows11上新安装的Docker Desktop一直显示"starting the Docker Engine"登录不上去的问题 - 尚能西的文章 - 知乎
安装Docker Desktop 4.23.0.0(120376),不要下载最新版,因为配置会有问题。(如果有大佬会也可以教我一下)
我发现可以不用慢慢去找哈哈哈哈~。点击我这个链接直接去下载4.23.0
如果不行再按照下面步骤寻找
- 打开搜索引擎输入docker desktop:
- 点击进入,因为我们要下载旧版本,所以往下翻,找到
Download and install
:
然后再点击Docker Desktop for Windows
:
- 继续点击
Release notes
:
- 然后再右侧标题栏,找到4.23.0,下载Windows版本:
安装时两个
(3)启动Docker Desktop
先直接使用管理员身份启动cmd或者powershell,输入命令
net start com.docker.service
然后以管理员身份启动docker desktop,可以不登录账号。如果等待5分钟还没有进去,一直转圈,再尝试以下命令切换Docker守护进程:
cd 'C:\Program Files\Docker\Docker\' #这是你docker的安装路径
.\DockerCli.exe -SwitchDaemon
然后再以管理员身份启动docker desktop,应该就可以进去。
进入Docker Desktop之后,点击右上方的设置按钮,勾选下图两个选项:
(4) WSL2安装docker
参考:利用国内网络丝滑的安装 Docker - 善良超锅锅的文章 - 知乎
我的WSL2是Ubuntu22.04,WSL2的安装教程请参考立创泰山派tspi-Windows11安装与配置WSL2用于Linux开发
- 安装设置仓库必须的工具
sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release
- 添加阿里的 Docker 镜像仓库证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/aliyun-docker.gpg
- 添加仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/aliyun-docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee -a /etc/apt/sources.list.d/docker.list > /dev/null
- 安装docker
sudo apt update
sudo apt install -y docker-ce
- 验证安装完成
sudo docker -v
- 将当前用户添加到 docker 用户组
sudo usermod -aG docker $USER
newgrp docker
(5)测试
拉取运行一个helloworld镜像:
docker pull hello-world
查看镜像,可以看到hello-world:
docker images
运行:
docker run hello-world
列出所有容器:
docker ps -a