跳转到主内容

一个标记为 "wsl" 的帖子

查看所有标签

使用 RHEL 作为 WSL podman 机器

·阅读时间 6 分钟
Jeff Maury
工程经理

红帽提供了一个名为 Image Builder 的工具,允许开发人员以多种格式构建自己的 RHEL 自定义镜像。最近,Image Builder 将 WSL 添加为一个目标,使您可以在 Windows 上将 RHEL 作为 WSL 发行版运行。

这篇文章详细介绍了构建和运行 RHEL WSL 镜像所需的步骤和操作。

本文的目的是描述 RHEL WSL 发行版所需的选项,以便它可以作为 Podman machine 使用。

要将 RHEL WSL 镜像用作 Podman machine,请确保安装了以下软件包:

  • podman
  • podman-docker
  • procps-ng
  • openssh-server
  • net-tools
  • iproute
  • dhcp-client
  • sudo
  • systemd-networkd

幸运的是,除了最后一个软件包外,所有软件包都可从预配置的 RHEL 9 软件仓库中获得。最后一个软件包 (systemd-networkd) 可从 EPEL 9 软件仓库中获得,需要在构建镜像时进行配置。

构建镜像

导航至 image builder

image builder

在右上角菜单中,启用 Preview (预览) 模式。

image builder preview

点击 Add blueprint (添加蓝图) 以打开 Create image (创建镜像) 对话框向导。

image wizard

Image output (镜像输出) 页面,选择以下内容:

  • Release (发行版) 列表中,选择 Red Hat Enterprise Linux (RHEL) 9。
  • Select target environments (选择目标环境) 选项中,选择 WSL - Windows Subsystem for Linux (.tar.gz)
  • 点击 Next (下一步)。
警告

尽管 Release (发行版) 中提供了 RHEL 10 (Beta) 选项,但请注意它不兼容。在撰写本文时,WSL 内核不支持 nftables。

Register (注册) 页面,选择 Automatically register and enable advanced capabilities. (自动注册并启用高级功能)。

  • 从下拉菜单中,选择一个激活密钥用于镜像。请参阅创建激活密钥
  • 点击 Next (下一步)。

OpenSCAP 页面,由于 WSL 镜像不支持该功能,请点击 Next (下一步)。

File system configuration (文件系统配置) 页面,选择 Recommended: Use automatic partitioning (推荐:使用自动分区)。

  • 点击 Next (下一步)。

Content (内容) 页面,完成以下步骤以向您的镜像添加额外的软件包:

  • 在 Repository snapshot (软件仓库快照) 步骤中

    • 选择 Use latest content (使用最新内容)。
    • 点击 Next (下一步)。
  • 在 Custom repositories (自定义软件仓库) 步骤中

custom repositories

点击 Create and manage repositories here (在此创建和管理软件仓库) 链接。这将打开一个新标签页。

custom repositories

点击 Add repositories now (立即添加软件仓库)。

add custom repository

点击 Add repositories (添加软件仓库)。

add custom repository

Add custom repositories (添加自定义软件仓库) 页面,选择以下内容:

  • Name (名称) 列表中,输入 EPEL 9。
  • URL 字段中,输入 https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/
  • GPG key (GPG 密钥) 字段中,输入 https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-9
  • 点击 Save (保存)。

关闭该标签页并切换回前一个。

  • 在筛选输入字段中,键入 EPEL。
  • 选择 EPEL 9 软件仓库。

custom repository created

点击 Next (下一步)。

  • 在 Additional packages (附加软件包) 步骤中
    • Available packages (可用软件包) 搜索字段中,输入 podman 并点击 按钮。
    • 选择 podman 和 podman-docker 软件包。
    • Available packages (可用软件包) 搜索字段中,输入 procps-ng 并点击 按钮。
    • 选择 procps-ng 软件包。
    • Available packages (可用软件包) 搜索字段中,输入 openssh-server 并点击 按钮。
    • 选择 openssh-server 软件包。
    • Available packages (可用软件包) 搜索字段中,输入 net-tools 并点击 按钮。
    • 选择 net-tools 软件包。
    • Available packages (可用软件包) 搜索字段中,输入 iproute 并点击 按钮。
    • 选择 iproute 软件包。
    • Available packages (可用软件包) 搜索字段中,输入 dhcp-client 并点击 按钮。
    • 选择 dhcp-client 软件包。
    • Available packages (可用软件包) 搜索字段中,输入 sudo 并点击 按钮。
    • 选择 sudo 软件包,然后点击 > 按钮,将软件包搜索结果中显示的已选软件包添加到 Chosen packages (已选软件包) 双列表框中。
    • Available packages (可用软件包) 搜索字段中,输入 systemd 并点击 按钮。
    • 选择 systemd-networkd 软件包。
    • 点击 Next (下一步)。

First boot script configuration (首次启动脚本配置) 页面

  • 点击 Next (下一步)。

Details (详情) 页面

  • Blueprint name (蓝图名称) 中,输入 rhel-wsl。
  • 点击 Next (下一步)。

Review (审查) 页面

  • 点击 Create blueprint and build image (创建蓝图并构建镜像)。

images list

镜像正在构建中。构建完成后,下载链接将可用。点击 Download (.tar.gz) (下载 .tar.gz) 链接并将下载的文件保存到您的本地文件夹之一。

创建 RHEL WSL podman machine

启动 Podman Desktop 并转到 Settings -> Resources (设置 -> 资源) 页面。

images list

在 Podman provider 上,点击 Create new ... (新建...)。

Create Podman machine (创建 Podman machine) 页面,点击 Image Path (镜像路径) 字段的 Browse (浏览) 按钮,并选择从 Image Builder 下载的文件。

create podman machine

点击 Create (创建) 按钮:machine 将被创建并启动。稍后,应会报告操作状态。

podman machine created

来体验一下 RHEL WSL podman machine

转到 Images (镜像) 页面并拉取 httpd 镜像。

pull httpd image

点击 Done (完成)。

images list

通过点击 Run image (运行镜像) 图标来启动镜像。

images list

一旦容器启动,就可以在 localhost:9000 访问 Apache 服务器。