升级 WSL
查看已安装的 WSL 版本 (Windows PowerShell 中运行)
wsl.exe -l -v
显示如下:
NAME STATE VERSION * Ubuntu-20.04 Running 1 docker-desktop-data Stopped 2
看到安装的为 WSL1,据说 WSL1 不支持 Docker,所以换成 WSL2,至于 WSL1 和 WSL2 的异同可参考比较 WSL 1 和 WSL 2。
安装 WSL2 (Windows PowerShell 中运行)
wsl.exe --set-version ubuntu-20.04 2
显示如下:
正在进行转换,这可能需要几分钟时间... 有关与 WSL 2 的主要区别的信息,请访问 https://aka.ms/wsl2 转换完成。
安装 Docker
在 WSL 中运行如下命令:
sudo apt-get remove docker docker-engine docker.io
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
Root 用户启动 Docker
sudo su
export DOCKER_HOST=tcp://localhost:2375
service docker start
显示如下:
* Starting Docker: docker
测试 (还是在 root 用户)
docker version
报错
以下是报错信息:
Client: Docker Engine - Community
Version: 20.10.12
API version: 1.41
Go version: go1.16.12
Git commit: e91ed57
Built: Mon Dec 13 11:45:33 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Cannot connect to the Docker daemon at tcp://localhost:2375. Is the docker daemon running?
修复
回到普通用户运行
编辑环境变量
vi ~/.bashrc # 在最下面添加一行: export DOCKER_HOST='unix:///var/run/docker.sock' source ~/.bashrc
再次测试
sudo docker version
显示如下表明成功:
Client: Docker Engine - Community Version: 20.10.12 API version: 1.41 Go version: go1.16.12 Git commit: e91ed57 Built: Mon Dec 13 11:45:33 2021 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.12 API version: 1.41 (minimum version 1.12) Go version: go1.16.12 Git commit: 459d0df Built: Mon Dec 13 11:43:42 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.4.13 GitCommit: 9cc61520f4cd876b86e77edfeb88fbcd536d1f9d runc: Version: 1.0.3 GitCommit: v1.0.3-0-gf46b6ba docker-init: Version: 0.19.0 GitCommit: de40ad0
参考
- WSL 安装 docker
- Cannot connect to the Docker daemon at tcp://localhost:2375. Is the docker daemon running?
代码获取
关注公众号 “生信之巅”,聊天窗口回复 “” 获取下载链接。
![]() | ![]() |
敬告:使用文中脚本请引用本文网址,请尊重本人的劳动成果,谢谢!