详解Windows 利用 WSL2 安装 Docker 的2种方式
作者:陈所长研究室
一、安装 WSL 先决条件
必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11。(来自官网的说明)
二、安装 Docker 前的准备
控制面板->程序和功能->启用或关闭Windows功能->勾选 适用于Linux的Windows子系统
重启电脑
打开应用商城搜索 WSL ,可根据自己需求选择安装 Linux 发行版,我这里选择 Ubuntu18.04
安装完成后可在开始菜单里找到快捷方式并启动,第一次运行需要等待安装并设置用户名、密码。
开始更换国内镜像源(注意:如果你选择的不是 Ubuntu18.04,这一步不太一样)
WSL 默认源的服务器地址在国外,速度很慢,强烈建议使用国内源,而不同 Linux 发行版镜像源文件地址不一样,比如 Ubuntu 是在 /etc/apt/sources.list
,Centos 是在/etc/yum.repos.d/CentOS-Base.repo
,同一 Linux 发行版的不同版本使用的源文件仓库地址也是不一样,这点需要注意。
如果是新手小白朋友,WSL 换源操作可以参考这篇文章:教你如何将WSL系统更换国内源?+固定路径+国内镜像源+详细教程
进入终端,输入以下命令
# 切换到源路径 cd /etc/apt # 备份 Ubuntu 原始源 cp sources.list sources.list.bak # 开始换源 sudo vim sources.list
Ubuntu18.04 阿里镜像源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
Ubuntu18.04 中科大镜像源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
Ubuntu18.04 清华镜像源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
换源之后,进行更新
# 更新源 sudo apt update # 更新软件包 sudo apt upgrade
三、Windows 安装 Docker
Windows 安装 Docker 方式分为两种,二选一即可
1. 原生 Linux 安装 Docker 方式
进入之前安装好的 Ubuntu,添加Docker源,依次输入以下命令
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt update
配置完 Dock而 源之后,开始安装 Docker,命令如下。
sudo apt install -y docker-ce
最后一个步骤,启动 Docker daemon。但是此处有一个问题,WSL2 经过测试无法使用systemctl
命令因此我们使用 service
命令启动 Docker daemon。命令如下所示:
sudo service docker start
至此,Docker 在WSL2下安装完毕。
检查 Docker 安装是否正常,可输入以下命令进行检查。
# 检查dockerd进程启动 service docker status ps aux|grep docker # 查看 Docker 版本 docker version # 检查拉取镜像是否正常 docker pull mysql docker images
2. Docker Desktop for windows方式
Docker 也专门开发了可以使用 WSL2
中的 Docker
守护进程的桌面管理程序, 打开 Docker Desktop WSL2 backend 页面,下载最新的 Docker Desktop for Windows 程序 ,建议下载stable版本。下载地址为:https://www.docker.com/products/docker-desktop
确保 WSL 内的 Dokcer 已经被卸载,在 Linux 子系统执行以下命令
sudo apt remove docker-ce sudo apt remove docker-ce-cli
启动Docker Desktop for Windows,选择 Settings --> General,启动基于WSL2
的引擎复选框(Use the WSL 2 based engine)
在 Resources 的WSL Integration
中设置要从哪个 WSL2 发行版中访问 Docker,如下图使用的是 Ubuntu18.04,点击 Apply,重启Docker desktop for Windows。
重启完成后就可以在 WSL2里面使用 docker 命令了。
# 检查dockerd进程启动 service docker status ps aux|grep docker # 查看 Docker 版本 docker version # 检查拉取镜像等正常 docker pull mysql docker images
FAQ
原生 Linux 安装 Docker 方式,Docker 无法实现开机自启和每次 WSL
启动Ip会发生变换
每次重启电脑后给 wsl2 分配的 IP 一般都会变动,我们要连接子系统内部的应用频繁换 IP 会很麻烦,参照别人的解决方法,可以给 Ubuntu 子系统中添加一个新的网卡来给宿主机连接用。
1.查看安装的是哪个子系统发行版本
C:\Users\cdavid>wsl -l 适用于 Linux 的 Windows 子系统分发版: Ubuntu-18.04 (默认)
2.在子系统中创建 init.wsl
sudo vim /etc/init.wsl
输入以下内容
#network static ip ip addr add 192.168.50.28/24 broadcast 192.168.50.255 dev eth0 label eth0:1 #docker start service docker start
给文件进行授权
sudo chmod +x /etc/init.wsl
3.在 Windows 创建 bat 脚本,输入以下内容,放在 C 盘目录下(哪里都想,不要随手删了就行)。
# 初始化脚本,注意这是 Ubuntu-18.04 和你的发行版本对应 wsl -d Ubuntu-18.04 -u root /etc/init.wsl # 添加一个网卡 netsh interface ip add address "vEthernet (WSL)" 192.168.50.93 255.255.255.0
在Windows下 输入快捷键 WIN+R 打开运行窗口,输入 shell:startup,该目录下新建 ubuntu.vbs。
set ws=WScript.CreateObject("WScript.Shell") ws.Run "C:\wsl2-start.bat",0
进入子系统,输入ifconfig
, 以后 192.168.50.28
就是 WSL 的固定 IP 地址了。
进入子系统,输入ifconfig
, 以后 192.168.50.28
就是 WSL 的固定 IP 地址了。
到此这篇关于Windows 利用 WSL2 安装 Docker 的2种方式的文章就介绍到这了,更多相关WSL2 安装 Docker内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!