在wsl下安装docker

在wsl下安装docker,

先装wsl

适用于 Linux 的 Windows 子系统安装指南 (Windows 10)
使用里面的手动执行步骤1-6
现在你就拥有了WSL2

安装docker

首先更新 apt 软件包数据库,以确保软件包列表是最新的。所有的命令均在终端 Terminal 中执行:

sudo apt-get update

执行 sudo 时可能会出现 “sudo: 无法解析主机:xxxxxx” 这样的提示,这是因为云主机的 hostname 不是 localhost,而在 /etc/hosts 中定义了 127.0.0.1 localhost。

该提示可以忽略。如果不想要终端出现这样的提示,可以执行以下命令 sudo hostname localhost。

安装一些软件包,以允许 apt 通过 HTTPS 使用存储库:

sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

首先,我们添加阿里云提供的镜像源以便于加快国内安装速度,先添加相应的密钥:

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

再添加相应源的信息:

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# 更新 apt 索引库
sudo apt-get update
# 安装 docker-ce
sudo apt-get install docker-ce

在安装成功后,Docker 的守护进程自动启动,不需要手动启动服务。此时,我们可以查看其版本信息,使用如下命令:

docker version

如果你是 自己搭建的 Docker 环境,可能会提示我们没有相应的权限连接到 Docker 守护进行绑定的 Unix 套接字。这是因为,默认情况下,该套接字归属于 root 用户,对于其它用户只能通过 sudo 来进行访问。

如果要让 shiyanlou 用户可以直接执行 Docker 命令而不必在每次执行时都输入 sudo 来获得权限,我们可以将要执行 Docker 命令的用户添加到用户组 Docker 中。该用户组会在安装后自动创建,我们只需执行添加用户到 Docker 用户组的操作【可跳过步骤】:

sudo gpasswd -a shiyanlou docker

添加用户到一个用户组中的方式有很多,例如我们还可以使用如下命令【可跳过步骤】:

sudo usermod -aG docker shiyanlou

在添加成功后,我们还需要重新打开一个 shell 修改才能生效。这时可以尝试打开一个新的终端或者使用如下命令【可跳过步骤】:

sudo su shiyanlou

使用阿里云镜像源

国内拉取 Docker Hub 的速度非常慢,好在阿里云提供了镜像加速器。

首先,我们需要编辑 /etc/docker/daemon.json 文件:

sudo vi /etc/docker/daemon.json

然后加入如下内容:

{
  "registry-mirrors": ["https://n6syp70m.mirror.aliyuncs.com"]
}

修改之后,需要重启 Docker 服务,让修改生效。使用如下命令:

sudo service docker restart

启动应用时遇到了如下错误

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

应该是docker的后台服务没有启动,那么我们需要先启动服务。

service docker start

在安装之后,我们可以通过运行一个 hello-world 的镜像来验证 Docker CE 是否被正确的安装,使用如下命令:

docker run hello-world

该命令会下载一个名为 hello-world 的镜像并运行于一个容器中。当这个容器运行时,会输出一些信息并退出,提示我们安装正确。

上一篇:解决wsl无法同步本地代理的dns信息


下一篇:只需一条命令,快速在Windows 10上关闭Linux