详解Windows 利用 WSL2 安装 Docker 的2种方式

一、安装 WSL 先决条件

必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11。(来自官网的说明)

%详解Windows 利用 WSL2 安装 Docker 的2种方式-猿站网-插图

二、安装 Docker 前的准备

控制面板->程序和功能->启用或关闭Windows功能->勾选 适用于Linux的Windows子系统

%详解Windows 利用 WSL2 安装 Docker 的2种方式-1猿站网-插图

重启电脑

打开应用商城搜索 WSL ,可根据自己需求选择安装 Linux 发行版,我这里选择 Ubuntu18.04

%详解Windows 利用 WSL2 安装 Docker 的2种方式-2猿站网-插图

安装完成后可在开始菜单里找到快捷方式并启动,第一次运行需要等待安装并设置用户名、密码。

%详解Windows 利用 WSL2 安装 Docker 的2种方式-3猿站网-插图

开始更换国内镜像源(注意:如果你选择的不是 Ubuntu18.04,这一步不太一样

WSL 默认源的服务器地址在国外,速度很慢,强烈建议使用国内源,而不同 Linux 发行版镜像源文件地址不一样,比如 Ubuntu 是在 /etc/apt/sources.list,Centos 是在/etc/yum.repos.d/CentOS-Base.repo ,同一 Linux 发行版的不同版本使用的源文件仓库地址也是不一样,这点需要注意。

如果是新手小白朋友,WSL 换源操作可以参考这篇文章:教你如何将WSL系统更换国内源?+固定路径+国内镜像源+详细教程

进入终端,输入以下命令
?
1
2
3
4
5
6
7
8
# 切换到源路径
cd /etc/apt
# 备份 Ubuntu 原始源
cp sources.list sources.list.bak
# 开始换源
sudo vim sources.list

Ubuntu18.04 阿里镜像源

?
1
2
3
4
5
6
7
8
9
10
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 中科大镜像源

?
1
2
3
4
5
6
7
8
9
10
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 清华镜像源

?
1
2
3
4
5
6
7
8
9
10
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

换源之后,进行更新

?
1
2
3
4
5
# 更新源
sudo apt update
# 更新软件包
sudo apt upgrade

三、Windows 安装 Docker

Windows 安装 Docker 方式分为两种,二选一即可

1. 原生 Linux 安装 Docker 方式

进入之前安装好的 Ubuntu,添加Docker源,依次输入以下命令

?
1
2
3
4
5
6
7
8
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,命令如下。

?
1
sudo apt install -y docker-ce

最后一个步骤,启动 Docker daemon。但是此处有一个问题,WSL2 经过测试无法使用systemctl命令因此我们使用 service 命令启动 Docker daemon。命令如下所示:

?
1
sudo service docker start

至此,Docker 在WSL2下安装完毕。

检查 Docker 安装是否正常,可输入以下命令进行检查。

?
1
2
3
4
5
6
7
8
9
10
# 检查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 子系统执行以下命令

?
1
2
sudo apt remove docker-ce
sudo apt remove docker-ce-cli

启动Docker Desktop for Windows,选择 Settings –> General,启动基于WSL2的引擎复选框(Use the WSL 2 based engine)

%详解Windows 利用 WSL2 安装 Docker 的2种方式-4猿站网-插图

在 Resources 的WSL Integration中设置要从哪个 WSL2 发行版中访问 Docker,如下图使用的是 Ubuntu18.04,点击 Apply,重启Docker desktop for Windows。

%详解Windows 利用 WSL2 安装 Docker 的2种方式-5猿站网-插图

重启完成后就可以在 WSL2里面使用 docker 命令了。

?
1
2
3
4
5
6
7
8
9
10
# 检查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.查看安装的是哪个子系统发行版本

?
1
2
3
C:\Users\cdavid>wsl -l
适用于 Linux 的 Windows 子系统分发版:
Ubuntu-18.04 (默认)

2.在子系统中创建 init.wsl

?
1
sudo vim /etc/init.wsl

输入以下内容

?
1
2
3
4
#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

给文件进行授权

?
1
sudo chmod +x /etc/init.wsl

3.在 Windows 创建 bat 脚本,输入以下内容,放在 C 盘目录下(哪里都想,不要随手删了就行)。

?
1
2
3
4
# 初始化脚本,注意这是 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。

?
1
2
set ws=WScript.CreateObject(“WScript.Shell”)
ws.Run “C:\wsl2-start.bat”,0

进入子系统,输入ifconfig, 以后 192.168.50.28 就是 WSL 的固定 IP 地址了。

%详解Windows 利用 WSL2 安装 Docker 的2种方式-6猿站网-插图

进入子系统,输入ifconfig, 以后 192.168.50.28 就是 WSL 的固定 IP 地址了。

到此这篇关于Windows 利用 WSL2 安装 Docker 的2种方式的文章就介绍到这了,更多相关WSL2 安装 Docker内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_42362605/article/details/124898062

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

docker gitea drone实现超轻量级CI CD实战详解

2023-3-3 13:07:15

建站知识

小知识:信噪比是什么

2023-3-3 13:12:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索