win10 的 Linux 子系统中安装 docker
在 win10 的 Linux 子系统中实现 docker 的安装使用
1、安装 WSL2
此处注意,一定是 WSL2!wsl 坑太多,经常有莫名错误!
1. 配置 WSL2
- 开启WSL 以管理员运行 Powershell:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
之后重启计算机。
- 启用“虚拟机平台”可选组件:
以管理员运行 Powershell:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
之后重启计算机。
- 默认启用 WSL2
运行 Powershell:
wsl --set-default-version 2
2. 安装配置 Ubuntu
-
安装 Ubuntu 打开 Microsoft Store,搜索
ubuntu
并安装。
之后启动刚刚安装的 Ubuntu。 -
设置 Ubuntu 系统的 root 密码 Ubuntu 的默认 root 密码是随机的,即每次开机都有一个新的 root 密码。要修改密码,可在终端输入命令:
$ sudo passwd
输入当前用户的密码,终端会提示我们输入新的密码并确认,此时的密码就是 root 新密码。
2、安装 Docker
以管理员身份运行 Ubuntu,在终端中依次执行以下命令:
$ sudo apt-get remove docker docker-engine docker.io
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce
3、启动运行
sudo service docker start
查看 docker 版本:
$ docker -v
通过运行hello-world映像验证是否正确安装了Docker CE:
$ sudo docker run hello-world
4、其他问题
- 安装指定版本的docker
$ sudo apt-get install docker-ce=<VERSION>
其中<VERSION>
可以通过以下命令查询:
$ apt-cache madison docker-ce
- 报没有权限的错误
如:“Got permission denied while trying to connect to the Docker daemon socket at unix:///var//run/docker.sock: …..”
从提示可以看出问题在于当前用户的权限不足以连接“/var/run/docker.sock”这个套接字文件,可以将普通用户加入 docker 用户组来解决:
$ sudo gpasswd -a <username> docker #将普通用户username加入到docker组
$ newgrp docker #更新docker组
-
忘记 Ubuntu 用户密码
1、 关闭 Ubuntu 窗口
2、 打开 Powershell 或 cmd, 以 root 默认登陆wsl -u root
3、 别关,在这个cmd窗口内输入wsl
进入
4、 输入passwd <your_username>
,确认密码
5、 关闭 WSLexit
-
更换 docker 镜像源
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://sx1pmhon.mirror.aliyuncs.com"]
}
EOF
sudo service docker restart