# 升级 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?

# 代码获取

关注公众号 “生信之巅”,聊天窗口回复 “” 获取下载链接。

生信之巅微信公众号生信之巅小程序码

敬告:使用文中脚本请引用本文网址,请尊重本人的劳动成果,谢谢!Notice: When you use the scripts in this article, please cite the link of this webpage. Thank you!

Edited on Views times

Give me a cup of [coffee]~( ̄▽ ̄)~*

Hualin Liu WeChat Pay

WeChat Pay

Hualin Liu Alipay

Alipay