news 2026/7/14 3:58:59

Windows Docker安装与WSL2终极指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows Docker安装与WSL2终极指南

一、先创建 D 盘目录

Docker与Ubuntu安装到D盘

1. 创建目录结构
在D盘新建D:\DockerD:\Ubuntu目录,分别存放Docker程序与数据。

2. 配置WSL2
以管理员身份运行PowerShell,启用WSL功能并设置默认版本为WSL2:

wsl --install -d Ubuntu wsl --set-default-version 2

3. 安装Docker Desktop
下载安装包后,通过命令行指定安装路径到D盘:

DockerDesktopInstaller.exe install --installation-dir=D:\Docker

4. 配置SSH服务
在Ubuntu子系统中安装并启动OpenSSH:

sudo apt update && sudo apt install openssh-server sudo service ssh start

5. FinalShell连接
在FinalShell中添加连接,地址为127.0.0.1,端口22,使用Ubuntu账户密码登录。

6. 迁移Ubuntu到D盘
导出WSL镜像并重新导入到D盘路径:

wsl --export Ubuntu D:\Ubuntu\ubuntu.tar wsl --import Ubuntu D:\Ubuntu D:\Ubuntu\ubuntu.tar

打开管理员 PowerShell:

New-Item -ItemType Directory -Force D:\Docker\DockerDesktop New-Item -ItemType Directory -Force D:\Docker\WSL New-Item -ItemType Directory -Force D:\Docker\MySQL

目录作用:

D:\Docker\DockerDesktop Docker Desktop 程序 D:\Docker\WSL Docker 镜像、容器、数据卷 D:\Docker\MySQL MySQL 项目文件

二、检查并安装 WSL 2

执行:

wsl --version

如果提示未安装:

wsl --install

完成后重启电脑。Docker Desktop 当前推荐使用 WSL 2 后端,并要求较新的 WSL 版本。

三、把 Docker Desktop 安装到 D 盘

设置安装包路径:

$installer = "$env:USERPROFILE\Downloads\Docker Desktop Installer.exe"

检查安装包是否存在:

Test-Path $installer

必须返回:

True

然后把下面这条命令整行复制执行

Start-Process -FilePath $installer -Wait -ArgumentList 'install','--accept-license','--backend=wsl-2','--installation-dir=D:\Docker\DockerDesktop','--wsl-default-data-root=D:\Docker\WSL'

这条命令会将:

Docker Desktop 程序:D:\Docker\DockerDesktop Docker 镜像和容器数据:D:\Docker\WSL

Docker 官方安装器支持--installation-dir修改程序目录,也支持--wsl-default-data-root修改 WSL 虚拟磁盘及容器数据目录。

安装成功后会自动弹出来docker客户端的软件,然后进行终端进行docker命令查看进程,如果是返回是空的话不会提示错误的话就说明已经安装和运行成功了

接下来就是将咱们刚才安装好的docker进行下载安装微软的SSH客户端工具然后进行连接到finalshell当中

四、下载安装微软的SSH客户端进行连接到finalshell当中

1. 打开管理员 PowerShell

检查 OpenSSH Server:

Get-WindowsCapability -Online | Where-Object Name -Like 'OpenSSH.Server*'

如果显示:

State : NotPresent

执行安装:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

安装成功之后开始启动SSH的客户端和设置开机自启动

Start-Service sshd

设置开机自动启动:

Set-Service -Name sshd -StartupType Automatic

检查状态:

Get-Service sshd

正常应显示:

Status Name ------ ---- Running sshd

检查 22 端口

Test-NetConnection 127.0.0.1 -Port 22

看到:

TcpTestSucceeded : True

就代表 FinalShell 可以连接。

查看登录用户名

whoami

再执行:

$env:USERNAME

假设输出用户名是:

guoqing

先在本机测试 SSH

ssh guoqing@127.0.0.1

第一次连接输入:

yes

随后输入的是Windows账户密码,不是开机PIN码

(注意:这个密码是你电脑登录微软账号的密码不是开机的PIN码!!!)

登录之后进入软件之后的终端输入密码用户名进去之后是这样的,如下图:

到达这一步已经安装SSH客户端运行成功,接下来就是连接到finalshell当中

五、在 FinalShell 连接

打开 FinalShell,新建 SSH 连接,填写:

名称:本地 Docker 主机:127.0.0.1 端口:22 用户名:自己电脑的用户名 密码:刚才 SSH 登录成功时使用的 Windows 账户密码

连接成功以后,也会看到类似:

到达这一步,我们已经是成功一大半了,坚持一下马上搞定

(注意:现在的finalshell旁边是没有任何的数据是正常的现象,因为这个finalshell没有适配windows,下一步我们就在D盘安装Ubuntu)

六、把 Ubuntu 安装到 D 盘

打开管理员 PowerShell,执行:

wsl --set-default-version 2

创建存储目录:

New-Item -ItemType Directory -Force "D:\WSL\Ubuntu"

安装 Ubuntu,并明确指定 D 盘:

wsl --install -d Ubuntu --location "D:\WSL\Ubuntu"

当前 WSL 支持通过--location指定 Linux 发行版的安装文件夹,因此 Ubuntu 的虚拟磁盘和主要文件会存放在D:\WSL\Ubuntu

安装弹出最底下的就说明已经安装好了,最下面的是让你设置一个用户名

设置好之后底下会有让你设置密码和确认设置的密码,设置一下就完成了

然后我们把docker客户端的设置里面的WSL的这个选项打开,点击应用,如下图:

然后我们进入乌班图,如下图:

七、接下来让 FinalShell 连接 Ubuntu:

在 Ubuntu 中执行:

sudo apt update sudo apt install -y openssh-server

设置 Ubuntu SSH 使用2222端口,避开 Windows SSH 的22

sudo mkdir -p /etc/ssh/sshd_config.d printf "Port 2222\nPasswordAuthentication yes\nPermitRootLogin no\n" | sudo tee /etc/ssh/sshd_config.d/99-finalshell.conf

检查并启动:

sudo sshd -t sudo service ssh restart ss -lntp | grep 2222

看到LISTEN后,在 Windows PowerShell 测试:

Test-NetConnection 127.0.0.1 -Port 2222

显示:

TcpTestSucceeded : True

最后在 FinalShell 新建连接:

然后新建连接完成之后,会弹出一个指纹的保存直接选保存就好了,然后进去之后会变成这样,如下图:

这样我们的本地的docker安装和安装乌班图以及连接到finalshell中就已经完成了,制作不易,如果帮助到了你,可以点个关注和收藏支持一下!!!!!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 3:58:58

pandas多维聚合生产实践:银行级数据流水线避坑指南

1. 项目概述:为什么多维聚合不是“加个groupby”就能搞定的事我在银行数据平台组干了八年,从最早用SQL写几十行嵌套子查询做客户分层,到后来带团队搭实时风险计算引擎,踩过的坑比写的代码还多。今天聊的这个主题——“多维聚合中的…

作者头像 李华
网站建设 2026/7/14 3:57:47

神经网络入门:从非线性拟合到反向传播的工程实践

记得第一次接触神经网络时,我被那些复杂的数学公式和层层嵌套的结构搞得晕头转向。直到真正动手实现了一个简单的分类器,才意识到神经网络的核心不是高深的理论,而是如何把抽象概念转化为可运行的代码。今天这个被观看了6883万次的教程之所以…

作者头像 李华
网站建设 2026/7/14 3:55:52

CSS sticky 用错,导航栏不固定了!

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 CSS sticky 用错?导航栏不固定了!手把手教你避坑 目录昨天改页面,给导航栏加了position: sti…

作者头像 李华
网站建设 2026/7/14 3:54:24

TPS61170与PIC18F45K50实现高效DC-DC升压转换方案

1. 项目背景与核心需求高电压DC-DC升压转换在工业自动化、医疗设备和新能源系统中有着广泛的应用需求。传统方案往往面临效率低、体积大或成本高的问题,而采用TPS61170搭配PIC18F45K50的方案,能够在2x2mm的极小封装内实现最高38V的输出电压转换&#xff…

作者头像 李华
网站建设 2026/7/14 3:54:22

Vim编辑器全套教程:嵌入式开发高效编码必备

Vim编辑器全套教程:嵌入式开发高效编码必备Linux下没有VS Code、没有Sublime,服务器上更没有图形界面。当你SSH到开发板调试,唯一的编辑器可能就是Vim。学会它,到哪里都能写代码。一、Vim是什么? Vim(Vi Im…

作者头像 李华
网站建设 2026/7/14 3:54:21

多维聚合实战:从pandas groupby到业务驱动的分析契约

1. 项目概述:为什么多维聚合不是“加个groupby”就能搞定的事我在银行数据平台组干了八年,从最早用SQL写几十行嵌套子查询做客户分层,到后来带团队搭实时风险计算引擎,踩过的坑比跑过的ETL任务还多。今天聊的这个主题——“Part 2…

作者头像 李华