win10子系统ubuntu中安装docker

目录

一、按照常规步骤安装docker

二、问题一:ubuntu默认使用了WSL而不是WSL2

三、问题二:未打开windows下Docker Desktop的TLS开关

四、问题三: Cannot connect to the Docker daemon at tcp://0.0.0.0:2375. Is the docker daemon running?


        在上篇文章中我们已经一步一步的展示了如何在win10系统中安装ubuntu子系统。本篇文章我们将记录如何在之前安装的子系统中安装docker镜像,并记录其中会遇到的种种问题。

一、按照常规步骤安装docker

一、设置仓库
1、更新 apt 包索引。
sudo apt-get update

2、安装 apt 依赖包,用于通过HTTPS来获取仓库:
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

3、添加 Docker 的官方 GPG 密钥:
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88

4、使用以下指令设置稳定版仓库
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ $(lsb_release -cs) stable"

二、安装 Docker Engine-Community
1、更新 apt 包索引。
sudo apt-get update

2、安装最新版本的 Docker Engine-Community 和 containerd:
sudo apt-get install docker-ce docker-ce-cli containerd.io

        如果是正常的ubuntu系统,安装到这里就已经完成了docker的安装。但在子系统中,docker的安装才刚刚开始。

二、问题一:ubuntu默认使用了WSL而不是WSL2

当输出docker --version时出现如下报错:

The command 'docker' could not be found in this WSL 1 distro. We recommend to convert this distro to WSL2 and activate the WSL integration in Docker Desktop settings.

 这个问题其实是你的ubuntu目前基于的是WSL而不是WSL2虚拟环境导致的。处理方法如下:

1、打开Windows PowerShell

win10子系统ubuntu中安装docker_第1张图片

2、在命令行中输入

wsl --set-version Ubuntu-18.04 2 (根据自己的Ubuntu版本设置) 

 等待几分钟便可以了。

三、问题二:未打开windows下Docker Desktop的TLS开关

当使用docker image ls时报错:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

遇到该问题时,首先要检查一下自己的docker是否打开

service docker start

service docker status 

如果此时docker的状态仍为not running,则使用如下解决方法:

1、打开TLS开关win10子系统ubuntu中安装docker_第2张图片

 2、添加命令至.bashrc,并source .bashrc

export DOCKER_HOST='tcp://0.0.0.0:2375'

 

四、问题三: Cannot connect to the Docker daemon at tcp://0.0.0.0:2375. Is the docker daemon running?

这个问题是在配置完问题二时,有时候会出现的一个问题。具体原因还不太清楚,但解决方案有两种:

1、直接将.bashrc中的export DOCKER_HOST='tcp://0.0.0.0:2375'删除即可。

2、也可以使DOCKER_HOST失效

unset DOCKER_HOST
unset DOCKER_TLS_VERIFY
unset DOCKER_TLS_PATH
docker ps

采用上述两种方法中的一种,并重新启动docker即可解决该问题。 

你可能感兴趣的:(环境配置中的坑坑洼洼,docker,ubuntu)