🛰️WSL2 Docker使用

type
status
date
slug
summary
tags
category
icon
password
Status
📌
WSL2 是 Microsoft 构建的完整 Linux 内核,它允许在不管理虚拟机的情况下运行 Linux 发行版。通过在 WSL2 上运行 Docker Desktop,用户可以利用 Linux 工作区并避免同时维护 Linux 和 Windows 构建脚本。此外,WSL2 还改进了文件系统共享和启动时间。Docker Desktop 使用 WSL2 中的动态内存分配功能来改善资源消耗。这意味着 Docker Desktop 仅使用所需的 CPU 和内存资源,同时允许 CPU 和内存密集型任务(例如构建容器)运行得更快。此外,使用 WSL2,冷启动后启动 Docker 守护进程所需的时间明显加快。

检查 wsl 版本

前置教程为 WSL 安装完全指南 - Ubuntu20.04,在完成该教程后再进行下面的 docker 配置。
第一步记得先检查你现在使用的 wsl 版本是不是 wsl2,在 powershell 里输入以下命令:
如果当前版本为 2 即为 wsl2,否则查看前置教程升级 wsl。

安装 Docker Desktop

第二步是在 Windows 系统里安装 Docker Desktop,可以在 Docker 官网下载安装 Docker Desktop,也可以用 Powershell 安装:
等待命令行下载和自动安装完成后,需要重启一下电脑。
重启完成后,在 Docker Desktop 里打开 Settings,到 Resources 下的 WSL Integration,切换 Ubuntu 的按钮为打开状态,右下角 Restart 一下就可以了。
启用后,在 wsl2 查看是否启动 Docker 服务:
如果未启动可以使用:
注意 wsl2 自身不要安装上 docker,因为 win 的 Docker Desktop 和直接在 wsl2 安装 docker 是不一样的环境。如果你两者都安装了,可能会出现 wsl2 的 docker 覆盖 Docker Desktop 的情况,拉取的镜像和跑的容器都装在 wsl2 的 docker 了。

迁移 docker 数据

第三步是将 Docker Desktop 及其数据存储位置迁移至 D 盘。正常情况下,Docker 默认安装和镜像存储路径都是 C 盘,容易占用太多空间,我们可以把 Docker 存储的路径改在 D 盘,这是因为事实上 Docker Desktop 在 Windows 上是作为 WSL2 子系统管理的,你可以通过下面的命令查看到:
我们主要针对的是 docker-desktop-data,下面的示例中将把它迁移到 D 盘,你也可以迁移到其他盘:
注意将路径改为你自己的路径,完成之后可以把原来的 tar 包删除,它只是用来备份当时的数据放在压缩包中,而不是作为真正的子系统数据。

Docker 的使用

最后一步是 Docker 的常见使用,我们可以在 vscode 中安装 Remote-Container 插件,可以帮你便捷地执行 Docker 操作,管理 Docker Image、Container、Volumes 等(貌似 Docker Desktop 也能替代一部分功能,不过装 Docker Desktop 最大的原因是容器要挂在后台运行的问题,而且 Docker Desktop 里跑的容器走的是宿主机的网络,也就不用再配代理,挂起的服务可以直接在宿主机局域网访问)。
后续是一些常用服务在 Docker 使用,教程到此就结束了。

Docker 安装 MongoDB

MongoDB 官方镜像叫 mongo,我们默认拉取最新版:
创建一个 MongoDB 容器:
新建一个数据库用户:

Docker 安装 Mysql

Docker 安装 Redis

  • Twikoo

© 2021-2025 Tabing | 萌ICP备20240819号