Windows下Docker开发环境搭建
使用DockerDesktop+WSL2搭建docker
开发环境。首先先去官网下载安装包安装好DockerDesktop。
修改镜像源,加快下载镜像的速度。
设置DockerDesktop使用WSL2作为后端。
设置哪个发行版可以使用docker指令。
Docker Desktop迁移镜像存储路径
如果使用了WSL2作为后端,直接使用 DockerDesktop 的设置迁移是不支持的。
进行操作之前,先停止容器和Docker的运行。
导出数据
# 导出数据
wsl --export docker-desktop-data "F:\WorkSpace\ServerSoft\data.tar"
# 注销
wsl --unregister docker-desktop-data
导入数据
# 导入数据
wsl --import docker-desktop-data "F:\WorkSpace\ServerSoft\DockerDesktopWSL" "F:\WorkSpace\ServerSoft\data.tar" --version 2
导入成功后,指令看下是否已经存在。
wsl -l -v
重新启动DockerDesktop。
发现路径还是在C盘,其实已经改了,下面验证下。
下图是还没拉去镜像前的文件大小。
拉取镜像之后,发现确实是变化的。
修改网络映射到主机
注意:在20230919更新了WSL2后,支持共享主机网络了,详情可以看 开发环境配置笔记 中的 WSL 章节。
桥接网络
# 获取网络适配器
Get-NetAdapter
# 将WSL虚拟网络和主机网络桥接起来
Set-VMSwitch WSL -NetAdapterName WLAN
修改WSL网络。
进入wsl2内手动修改ip配置,假设WSL的有线网络为eth0,外部局域网网关为 10.0.0.1,需要将WSL网络IP 设置为 10.0.0.7/24,则在bash中分别执行如下命令:
sudo ip addr del $(ip addr show eth0 | grep 'inet\b' | awk '{print $2}' | head -n 1) dev eth0
sudo ip addr add 10.0.0.7/24 broadcast 10.0.0.255 dev eth0
sudo ip route add 0.0.0.0/0 via 10.0.0.1 dev eth0
修改更新DNS地址
# 修改为 nameserver 10.0.0.1
sudo vim /etc/resolv.conf
取消桥接
Set-VMSwitch WSL -SwitchType Internal
# 关闭wsl
wsl --shutdown