前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在 Windows WSL Ubuntu 上安装原生Docker

在 Windows WSL Ubuntu 上安装原生Docker

作者头像
运维开发王义杰
发布2024-03-18 16:10:31
发布2024-03-18 16:10:31
2.2K00
代码可运行
举报
运行总次数:0
代码可运行

最近我成功地在Windows的WSL(Windows Subsystem for Linux)Ubuntu系统上安装了Linux原生的Docker。这一成就不仅标志着技术的进步,而且为使用Windows系统且依赖容器环境的开发者们打开了新的大门。本文将详细介绍安装过程,并讨论这一功能的重要性以及它对微软团队开发效率的积极影响。

关键事件:WSL开始支持systemd

WSL(Windows Subsystem for Linux)开始支持systemd是在2022年9月21日。这一支持首先在Windows 11中提供,使得WSL的体验更加接近于使用裸机Linux。Systemd是许多流行Linux发行版(如Ubuntu、Redhat等)使用的初始化系统和服务管理器。对于那些需要systemd来管理服务的应用来说,这是一个重要的进步,因为它允许在WSL中使用如snap和LXD等依赖于systemd的Linux应用。这项改变对WSL架构有所影响,因为systemd需要作为PID 1运行,这要求WSL init过程成为systemd的子进程。这一改变确保了系统的干净关机,并且对WSL init过程做了一些调整,以适应这种新的层级结构。

对于想在WSL上使用原生Docker的用户来说,这一支持无疑是一个好消息。Docker和许多其他服务可以利用systemd进行管理,提高了WSL在进行容器化开发时的便利性和实用性。通过启用systemd,开发人员可以在WSL上更有效地管理服务,实现更接近Linux的使用体验。

如果我们的系统尚未启用systemd,可以通过修改/etc/wsl.conf文件并添加[boot] systemd=true配置来启用它。这需要WSL的版本至少为0.67.6或更新版本。

这项功能的支持,确实为使用Windows系统且依赖容器环境的开发者带来了便利,使得在Windows上的Linux开发体验更加完整和高效。

安装过程回顾

安装Linux原生Docker在WSL的Ubuntu上的过程可以概括为以下几个步骤:

  1. 更新系统包列表并安装必要的包:
代码语言:javascript
代码运行次数:0
运行
复制

bash
apt update && apt -y install --no-install-recommends apt-transport-https ca-certificates curl gnupg2

添加Docker的官方APT仓库信息:

代码语言:javascript
代码运行次数:0
运行
复制

bash
echo "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu jammy stable" | tee /etc/apt/sources.list.d/docker.list

导入Docker的官方GPG密钥,以确保软件包的真实性:

代码语言:javascript
代码运行次数:0
运行
复制

bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | tee /etc/apt/trusted.gpg.d/docker.asc

再次更新系统包列表,并安装Docker CE(社区版)、CLI工具、containerd.io、以及Docker的其他插件:

代码语言:javascript
代码运行次数:0
运行
复制

bash
apt update && apt -y install --no-install-recommends docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

功能的意义

在WSL上安装Linux原生的Docker,为依赖容器化技术的开发者们提供了极大的便利。以往,Windows用户要么选择安装Docker Desktop,这是一个重量级的解决方案,要么面临无法直接在WSL中运行Docker的局限。现在,通过原生安装,开发者可以在更接近Linux的环境中运行Docker,享受更轻量、更快速、更灵活的开发体验。

微软团队的开发效率

此次技术突破也是对微软团队高效开发能力的证明。通过不断更新和改进WSL,微软不仅增强了其与Linux生态系统的兼容性,还促进了开发工具和环境的多样性。这表明微软致力于满足开发者社区的需求,无论是通过引入新功能,还是通过改善现有系统的性能和兼容性。

结语

微软在WSL2中加入对Systemd的支持,不仅提高了与Linux应用的兼容性,也大大简化了在Windows上使用Linux原生Docker的过程。这一进步对于依赖容器化开发环境的开发者来说意义重大,它不仅展示了微软对开发者社区需求的重视,也进一步加深了Windows与Linux生态系统之间的整合。现在,开发者可以在Windows上享受到几乎与Linux原生环境相同的开发体验,这无疑将推动跨平台开发的进一步发展。我们期待微软在未来继续推动技术的界限,为开发者社区提供更多的支持和便利。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维开发王义杰 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关键事件:WSL开始支持systemd
  • 安装过程回顾
  • 功能的意义
  • 微软团队的开发效率
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档