在Windows上使用WSL2(Ubuntu)创建Docker开发环境


这种文章是第n个汤剂,但是它是什么都没关系。

你为什么要用这种东西

Windows在名为WSL(Linux的Windows子系统)的Windows上运行Linux。它在2020年进行了升级,并成为WSL2,这使得在Windows上使用Docker进行开发非常容易。在某些地方仍然可以达到瘙痒的程度,但是它变得越来越可用于企业用途。

当我尝试在Windows上使用Docker时,其结构是虚拟环境(Hyper-V)在Windows之上,并且Dokcer引擎正在其上运行,因此性能很差,VirtualBox和某些有害诸如无法一起使用的效果。现在是WSL2,Docker引擎无需经过虚拟环境即可直接在WSL2上运行,缺点已荡然无存!

让我们立即使用它。

启用WSL2

单击此处以获取参考文件
https://docs.microsoft.com/ja-jp/windows/wsl/install-win10#update-to-wsl-2

启用" Linux的Windows子系统"可选功能

以管理员身份打开PowerShell,然后执行以下操作:

1
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

重新启动PC。

启用"虚拟机平台"可选功能

以管理员身份打开PowerShell,然后执行以下操作:

1
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重新启动PC。

将WSL2设为默认值

以管理员身份打开PowerShell,然后执行以下操作:

1
wsl --set-default-version 2

选择Linux发行版并安装

打开Microsoft Store并安装Ubuntu。如果您选择的是未写入版本的版本,则将输入最新版本(这次已安装20.04)

SnapCrab_NoName_2021-2-5_12-4-44_No-00.png

初始设定

安装完成。您可以像启动其他Windows应用程序一样启动终端。设置初始用户名/密码并更新库。

1
2
sudo apt update
sudo apt upgrade -y

Docker安装

来自此
https://hub.docker.com/editions/community/docker-ce-desktop-windows

将会询问您是否要在安装过程中使用WSL2支持,因此将其打开
2020-07-31-050213.png

在这里设置
SnapCrab_NoName_2021-2-5_12-42-38_No-00.png
SnapCrab_NoName_2021-2-5_12-42-18_No-00.png

键入

wsl -l -v命令以查看其是否有效。

1
2
3
4
5
PS C:\Users\user> wsl -l -v
  NAME                   STATE           VERSION
* docker-desktop-data    Running         2
  Ubuntu                 Running         2
  docker-desktop         Running         2

三个出来了,但是

  • docker-desktop:用于运行Docker的引擎
  • docker-desktop-data:图像等的存储位置。

两者似乎都是WSL环境。在我的环境中,可能是因为首先包含Docker,所以WSL法规已成为Docker虚拟环境,因此我将使用wsl -s命令切换到Ubuntu。

1
2
3
4
5
6
PS C:\Users\user> wsl -s Ubuntu
PS C:\Users\user> wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu                 Running         2
  docker-desktop-data    Running         2
  docker-desktop         Running         2

为Visual Studio Code创建环境

假定已安装Visual Studio Code。远程WSL
安装扩展名为。

进入Ubuntu端。
挖出项目等的目录。

1
code .

当以

开头时,WSL中的目录将在Windows端以初始状态打开。

重要的事情

由WSL2创建的文件位于Windows的本地位置,但您不应将它们弄乱。