码迷,mamicode.com
首页 > 其他好文 > 详细

Docker Desktop WSL 2 后端

时间:2020-08-31 13:23:07      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:you   source   限制   block   sed   docker-ce   如何   info   file   

原文:Docker Desktop WSL 2 backend

Docker Desktop WSL 2 后端

Windows Subsystem for Linux(WSL)2 采用了一个重大的体系结构变化,因为它是由Microsoft构建的完整的Linux内核,允许Linux容器在本机运行而无需模拟运行。在WSL 2上运行的Docker Desktop,用户可以利用Linux工作区并避免维护Linux和Windows构建脚本。此外,wsl2还改进了文件系统共享、引导时间,并允许Docker桌面用户访问一些很酷的新功能。
Docker Desktop使用WSL2中的动态内存分配功能,大大提高了资源消耗。这意味着,Docker Desktop只使用所需数量的CPU和内存资源,同时使CPU和内存密集型任务(如构建容器)运行得更快。
另外,使用WSL 2,冷启动后启动Docker守护进程所需的时间明显更快。启动Docker守护进程所需时间不到10秒,而在Docker Deskto的前一版本中,这一时间几乎为一分钟。

先决条件

在安装Docker Desktop WSL 2后端之前,必须完成以下步骤:

  1. 安装Windows 10 2004版或更高版本。

  2. 在Windows上启用WSL 2功能。有关详细说明,请参阅适用于 Linux 的 Windows 子系统安装指南 (Windows 10)

    PS:启用WSL 2后功能要保证 WSL 2 Linux 内核已安装,不然在Linux 分发版安装完成后启动会产生错误。错误代码:0x800706be

  3. 下载并安装Linux内核更新包。详见更新 WSL 2 Linux 内核

下载

下载Docker Desktop Stable 2.3.0.2版或者以后的版本
地址:https://www.docker.com/products/docker-desktop

安装

在安装Docker Desktop Stable 2.3.0.2版本之前确保已完成“先决条件”部分中描述的步骤。

  1. 按照通常的安装说明安装Docker Desktop。如果您运行的是受支持的系统,Docker Desktop会在安装期间提示您启用WSL2。阅读屏幕上显示的信息并启用WSL 2以继续。

  2. 启动Docker Desktop。

  3. 从Docker菜单中,选择Settings -> General。
    技术图片

  4. 选择Use WSL 2 based engine复选框。

  5. 点击 Apply & Restart

  6. 确保分发在WSL2模式下运行。WSK可以在v1或v2模式下运行发行版。
    要检查WSL模式,请运行
    wsl -l -v
    要将现有的Linux发行版升级到v2,请运行:
    wsl --set-version (distro name) 2

  7. 当Docker Desktop重新启动时,转到Settings>Resources>WSL Integration。
    WSL集成将在您的默认WSL发行版上启用。要更改默认的WSL发行版,请运行
    wsl --set-default <distro name>
    例如,要将Ubuntu设置为默认的WSL发行版,请运行wsl --set-default ubuntu
    或者,选择要在其上启用wsl2的任何附加发行版。
    技术图片

  8. 点击 Apply & Restart

用Docker 和 WSL 2开发

以下部分介绍如何开始使用Docker和WSL2开发应用程序。我们建议您将代码保存在默认的Linux分发中,以获得使用Docker和wsl2的最佳开发体验。在DockerDesktop上启用WSL2之后,您可以开始在Linux发行版中使用代码,理想情况下,您的IDE仍在Windows中。如果您使用的是VS Code,那么这个工作流可能非常直截了当。

  1. 打开VSCode并安装远程-WSL扩展。这个扩展允许您使用Linux发行版中的远程服务器和仍在Windows上的IDE客户端。
    现在,您可以远程使用VSCode。为此,请打开终端并键入:
    wsl
    code .

这会打开一个新的VSCode,它远程连接到你默认的Linux发行版,您可以在屏幕的下角进行检查。

或者,您可以在开始菜单中键入默认Linux发行版的名称,打开它,然后运行code

当您在VS Code中时,您可以从您的Windows计算机使用VS Code中的终端来提取代码,并开始本地工作。

最佳实践

  • 要在绑定装载文件时充分利用文件系统性能,请执行以下操作:

    • 存储绑定到Linux容器中的源代码和其他数据(即docker run -v <host-path>:<container-path>)在Linuxfilesystem中,而不是Windows文件系统中。

    • 只有在Linux文件系统中存储事件时,才会将事件更改为“原始文件”。
      当文件从主机远程挂载时,linuxd的性能要比从Windows远程挂载的文件要高得多。所以要避免docker run -v /mnt/c/users:/users(其中/mnt/c从Windows安装)。

    • 取而代之的是,在Linux shell中使用一个命令,如docker run -v ~/my-project:/sources <my-image>其中~由Linux shell扩展为$HOME

  • 如果您担心docker桌面数据VHDX的大小,或者需要更改它,请查看WSL tooling built into Windows .

  • 如果您担心CPU或内存使用情况,可以配置限制给分配到WSL 2 utility VM的内存、CPU、交换大小。

  • 为了避免一切在Docker Desktop上使用WSL2的潜在冲突,在安装Docker Desktop之前,您必须卸载Docker Engine的所有早期版本以及直接通过Linux发行版安装的CLI。

反馈

你的反馈对我们很重要。请通过在Docker Desktop for Windows GitHub存储库创建问题并添加WSL 2标签来让我们知道你的反馈。

Docker Desktop WSL 2 后端

标签:you   source   限制   block   sed   docker-ce   如何   info   file   

原文地址:https://www.cnblogs.com/kihyou/p/13558905.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!