改善Windows上WSL 2 Docker体验的6个技巧

适用于 Linux 2 的 Windows 子系统是 Windows 10 和 11 上的非凡工具,并与 Docker 无缝集成。作为开发人员,了解这些软件提供的功能以及如何充分利用 Docker-WSL 2 设置至关重要。

什么是码头工人?

Docker 是一个开源平台,允许开发人员在容器中高效地构建、部署和运行他们的应用程序。所有依赖项都捆绑在一起,因此您的项目可以轻松部署在任何环境中。

Docker 在许多容器化平台中非常受欢迎,因为它可靠、功能强大且可扩展性强。它在 Docker 引擎上运行,Docker 引擎是一个必不可少的 DevOps 工具,可为测试和部署提供干净、轻量级的环境。Docker 类似于虚拟机,但虚拟化操作系统而不是底层硬件。

对于软件开发人员,Docker 通过为不同的微服务创建单独的容器(包括必要的依赖项、库和配置)来简化工作流程。每个微服务容器都是隔离的并且可以单独扩展。

如何在 WSL 2 上使用 Docker

Docker 与所有主要操作系统兼容,例如 Windows、macOS 和 Linux。如果您使用的是 Windows 10 或 11,则可以通过 Docker Desktop 使用 Docker,并将其与适用于 Linux 2 的 Windows 子系统集成以提高性能。您可以从Docker 官方网站下载适用于 Windows 的 Docker Desktop 。改善Windows上WSL 2 Docker体验的6个技巧

适用于 Linux 的 Windows 子系统 (WSL) 是一项很有价值的功能,它允许 Windows 用户运行 Ubuntu 和 Kali 等 Linux 发行版,而无需设置虚拟机或双启动。

这也意味着Windows 用户可以直接使用 Linux 命令行工具、应用程序和实用程序,而无需额外的安装步骤。WSL 的最新版本 WSL 2 提供了更高的稳定性和专用的 Linux 内核。

由于 Docker 容器非常健壮,您甚至可以配置它们来托管您的服务器;nginx docker 容器通常用作 Web 服务器。此外,您还可以通过其他几种方式使用 Docker:

  • 轻松运行 Linux 发行版
  • 设置用于学习或测试目的的网络服务器
  • 便携式部署应用程序
  • 将应用程序捆绑到一个图像文件中
  • 简化的 CI/CD 管道

您必须熟悉将 Docker 与适用于 Linux 2 的 Windows 子系统一起使用的最佳实践,就像您使用任何其他平台或工具一样。作为一名开发人员,我可以根据个人经验说,一旦将以下技巧整合到您的工作流程中,您的生产力和效率就会大大提高。

1. 将 VS Code 与 WSL 2 集成

Visual Studio Code 是一种流行的 IDE,因其令人难以置信的功能、社区和扩展而深受喜爱。作为开发人员,能够在 Windows 平台上使用 Visual Studio Code 进行应用程序开发,同时还能在 Linux 内核上运行这些应用程序,这是一项非常有利且几乎令人难以置信的功能。改善Windows上WSL 2 Docker体验的6个技巧

当你将 VS Code 集成到 Linux 的 Windows 子系统中时,你可以利用其专门的 Linux 内核来增强跨平台兼容性。您可以通过使用 VS Code 和 WSL 2 中的集成终端进一步简化您的工作流程。

要在 Windows 上使用 WSL 2 设置 VS Code,您可以从 VS Code Marketplace 配置WSL扩展并开始运行。

2. 使用 WSL 2 文件系统

要正确运行 Docker 容器,您必须依赖 WSL 2 发行版的文件系统,而不是严重依赖本机 Windows 文件系统。纵观我在 WSL 2 上使用 Docker 容器的经验,我发现最好将项目文件存储在 WSL 中。

3. 使用原生 Linux 脚本

您将从事的许多容器化项目可能会附带用于在 Linux 上实现自动化的脚本。通常,这些脚本首先是为 Linux 开发的,Windows 开发人员不是优先考虑的对象。

借助 WSL 2,您的整个团队都可以使用相同的 Linux 自动化脚本,并且您不必担心为您的团队维护与 Windows 兼容的自动化脚本。

4. 配置 BuildKit 以提高安全性和性能

BuildKit 是一个开源工具包,在性能和安全性方面改进了传统的 Docker 构建过程;它直接与 Docker 集成,因此您无需单独安装。

当您默认启用BuildKit时,您可以确保您的容器是使用 BuildKit 工具包构建的,从而为您提供更好的安全性、并发性、灵活性和缓存。

要默认启用 BuildKit,您应该对 ~/.profile 配置文件进行以下更改:

export DOCKER_BUILDKIT=1.

5.设置资源限制

当您将 WSL 2 后端与 Docker Desktop 集成时,您授予 Docker 访问所有 CPU 资源的权限。这样做有助于提高资源密集型容器的性能。

但是,在某些情况下,容器可能会分配大量多余的内存,从而导致关键操作系统进程崩溃。在使用数据库容器或缓存微服务时,您更有可能遇到这种情况。

幸运的是,您可以配置 Docker 容器来限制系统内存和 CPU 使用率。在配置系统内存时应始终小心,即使是一个小错误也会造成严重后果。您可以参考Docker 官方文档,了解有关限制 Docker 容器消耗的内存和 CPU 资源的更详细指南。

6.恢复缓存内存

如果您在 WSL 2 中运行 Docker 容器,则容器终止后应释放其内存。不幸的是,操作系统内核倾向于在缓存中维护数据。这意味着 WSL 2 回收的有效内存是不够的。

您可以通过在 WSL 2 中通过 root 运行以下命令来恢复所有不必要地用作缓存的内存:

echo 1 > /proc/sys/vm/drop_caches

使用 WSL 2 变得更聪明

WSL 2 是基于 Windows 的开发人员的最佳功能,它彻底改变了开发人员使用 Docker 的方式。开发人员必须了解将 Docker 与 WSL 结合使用以提高性能、安全性和工作流灵活性的最佳实践。

本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。
(0)
上一篇 2023年6月14日 下午9:23
下一篇 2023年6月14日 下午9:36

相关推荐