如何在 Windows 使用 Podman Desktop 取代 Docker Desktop

windows,podman,desktop,docker · 浏览次数 : 37

小编点评

Podman Desktop 是 Docker Desktop 的免费替代品,适用于本地开发。它提供了类似的功能集,同时保持完全开源,避免了使用 Docker 产品的许可问题。Podman Desktop 的特点包括: 1. 支持无头容器引擎,无单点故障问题。 2. 支持 Rootless 模式,无需 Root 权限即可启动容器。 3. 与 Docker CLI 类似,易于上手。 4. 提供类似 Docker Compose 的指令。 5. 提供类似 Docker Desktop 的管理界面。 6. 支持使用 docker.io 作为镜像存储库,避免商业授权问题。 7. 支持 Kubernetes,轻松地将本地容器设置过渡到 Kubernetes 环境。 要开始使用 Podman Desktop,请确保已安装 Podman CLI。然后,按照以下步骤操作: 1. 下载 Podman Windows 安装程序并运行。 2. 使用 `podman machine start` 命令创建您的第一台机器。 3. 下载 Podman Desktop 并启动。 4. 在容器选项卡中创建新容器,指定镜像和配置。 5. 使用左侧的复选框选择多个容器并批量应用操作。 6. 使用“Kube”选项卡自动生成 Kubernetes YAML 文件,方便部署。 总之,Podman Desktop 是一个强大的图形工具,可帮助您轻松管理 Podman 容器环境,包括部署 Kubernetes 应用程序。

正文

Podman Desktop 是 Docker Desktop 的免费替代品,是本地开发使用的另一个绝佳选择。它提供了类似的功能集,同时保持完全开源,让您避免使用 Docker 产品的许可问题。在本文中,您将学习如何安装和开始使用 Podman Desktop 来运行容器并部署到 Kubernetes。如果您以前使用过 Docker Desktop,这种体验会很熟悉,但重新使用它也应该很快。

什么是 Podman 桌面?

Podman 是一个 OCI 容器引擎,您可以使用它来代替 Docker。 Podman的特点如下:

  • 支持 Daemonless 的容器引擎,没有单点故障问题。
  • 支持 Rootless 模式,无需 Root 权限即可启动容器。
  • Podman CLI 有意与 Docker 的相似;您可以通过简单地用 podman 代替 docker 来转换大多数命令,例如 podman runpodman push
  • 提供类似 Docker Compose 的指令,如 Podman Compose。
  • 提供类似 Docker Desktop 的管理界面,Podman Desktop 是 Podman 功能的官方图形界面,您可以使用 Desktop 方便地与工作站上的容器和相关资源进行交互。
  • 支持使用 docker.io 作为镜像存储库
  • Apache 开源授权,不用担心商业授权问题。
  • 支持 Kubernetes,轻松地将本地容器设置过渡到 Kubernetes 环境。

入门

在开始使用 Podman Desktop 之前,请确保您已经安装了常规的 Podman CLI。 Desktop 需要检测 CLI 来管理您的容器。您可以在 Podman 文档中找到详细的安装说明。Podman在Windows上的使用主要依赖于Windows Subsystem for Linux(WSL),这使得在Windows环境下也能运行Linux容器。Podman为Windows提供了一个原生的命令行界面(CLI),并嵌入了一个用于启动容器的Linux系统作为Podman机器。这个机器通过podman machine命令进行管理。在Windows上,每个Podman机器都由一个虚拟化的WSLv2发行版支持。Podman命令可以直接从Windows PowerShell(或CMD)提示符中运行,与在WSL环境中运行的podman服务进行远程通信。另外,如果你更喜欢Linux提示符和Linux工具,也可以直接从WSL实例中访问Podman。除了命令行访问外,Podman还监听Docker API客户端,支持直接使用基于Docker的工具和从您选择的语言进行编程访问。更详细内容参见:https://podmancn.pages.dev/docs/tutorials/podman-for-windows.

此外,建议使用现代的“Windows Terminal”,它提供了比标准PowerShell和CMD提示符更优越的用户体验,以及WSL提示符(如果需要)。可以通过Windows Store搜索或运行以下winget命令来安装它:

winget install Microsoft.WindowsTerminal


安装Podman


安装Windows Podman客户端的开始步骤是下载Podman Windows安装程序。Windows安装程序是随每个Podman发行版一起构建的,可以从官方的GitHub发行页面下载。

image

下载完成后,只需运行EXE文件,并重新启动一个新的终端。此后,podman.exe将出现在你的PATH中,你将能够运行podman machine init命令来创建你的第一台机器。

image

安装完成后,打开 PowerShell 命令行,运行:

podman -v

如果显示出正确的版本号即安装成功,继续下一步操作

在 PowerShell 命令行中运行:

podman machine start

出现类似的内容说明已经完成了 Podman 的安装,可以正常使用 podman run 等命令:

image

接下来,从项目网站下载最新的 Podman Desktop 版本,具体参考文档:https://podman-desktop.io/docs/installation/windows-install

现在您可以启动 Podman Desktop。您应该会看到 Podman 已成功检测到。主屏幕还将显示系统上可用的任何其他容器环境,例如安装的Docker引擎。

image

探索 Podman 桌面

Podman Desktop 的界面分为五个主要部分,您可以使用左侧边栏在它们之间切换。还有一个单独的设置菜单,可在侧边栏底部访问,您可以在其中配置容器引擎、启用 HTTP 代理并提供图像注册表凭据。

运行容器

容器选项卡是您花费大部分时间的地方。它显示您的环境中存在的所有容器。要创建新容器,请按右上角的紫色“创建容器”按钮。

image

系统将提示您在构建 Containerfile 或 Dockerfile 或从现有映像启动容器之间进行选择:

image

如果选择“From Containerfile/Dockerfile”,则需要通过单击下一个屏幕上的“Containerfile path”输入来选择文件的路径。您可以使用任何现有的 Dockerfile; Containerfile 术语只是一种更通用的替代方法。在“Image Name”字段中为您的图像提供初始标签,然后按“Build”按钮构建您的镜像,很容易就可以构建多平台镜像,Platform可以勾选各个平台来构建多平台容器镜像。

image

构建命令的输出将显示在嵌入式终端窗口中。单击完成按钮继续。您将被带到镜像屏幕,您的新镜像将在其中显示。如果您选择不构建新镜像,则在容器创建对话框中按下“来自现有镜像”按钮后,您将进入镜像屏幕。

接下来,将鼠标悬停在任何镜像上,然后单击出现在屏幕右侧的播放按钮:

image

image

现在您可以配置新容器实例的属性。为您的容器指定一个名称,安装您需要的任何卷,并在“基本”选项卡上设置环境变量:

image

Advanced 选项卡允许您附加 TTY,设置容器运行的用户,并更改将应用的重启策略:

image

网络配置容器的网络堆栈,包括其主机名、/etc/hosts 文件条目和 DNS 配置:

image

最后,Security 选项卡可以让你激活特权模式(如果你知道你需要它),修改容器的内核功能,并在你期望一个不可变的环境时指定一个只读文件系统:

image

完成容器配置后,单击屏幕底部的紫色“启动容器”按钮运行它。它会重新显示在容器屏幕上。

image

管理容器

将鼠标悬停在容器上会显示可让您停止或删除它们的操作。您还可以使用左侧的复选框来选择多个容器并批量应用操作。单击最右侧的三个点按钮会显示一个包含更多选项的溢出菜单。在这里,您可以立即重启容器,或快速启动终端会话。

image

单击任何容器以查看其详细信息。这会产生一个选项卡式界面,您可以在其中访问容器的日志、podman inspect 输出和终端会话。

image

管理镜像

镜像以类似的方式管理。单击任何镜像以访问其详细信息,包括其 podman inspect 输出和图层历史记录。

image

单击图像屏幕右上角的“pull”按钮,将新的远程镜像拉入您的环境。系统会提示您输入要提取的图像,例如 ubuntu:latest

image

要在私有 registry 中使用镜像,您需要先设置身份验证凭据。按“拉取镜像”屏幕上的“管理注册表”按钮,或导航至“设置”>“添加注册表”,然后按右下角的“添加注册表”按钮。输入注册表的主机名并提供您的用户名和密码。单击登录按钮进行身份验证。

image

管理卷

Volumes 屏幕提供了您创建的所有持久卷的概览,包括它们的年龄和总大小:

image

使用 Kubernetes

Podman 集成了 Kubernetes 支持。这显示在 Podman Desktop 的 Pod 屏幕中。 Podman 中的 Pod 相当于 Kubernetes Pod,是多个容器组合在一起的集合。要部署 Pod,请单击右上角的“Play Kubernetes YAML”按钮。

image

Pod 仍然是在 Podman 中运行的容器。要部署到 真实 Kubernetes 集群,请展开 Pod 的三点菜单并选择“部署到 Kubernetes”操作。

在下一个屏幕上,选择是否将 hostPort 绑定替换为 Kubernetes 服务。这更安全,因为它可以防止 Pod 直接绑定到集群节点上的端口。单击“部署”将 Pod 启动到活动的 Kubernetes 集群中,如 ~.kube/config 文件所定义。您可以在设置菜单中选择不同的集群连接。

image

Podman Desktop 结合了在本地容器和 Kubernetes 集群之间移动的便利功能。容器详细信息屏幕上的“Kube”选项卡为您环境中的任何容器提供自动生成的 Kubernetes YAML 文件,使您无需手动编写清单即可进行部署。

安装扩展

Podman Desktop 支持大多数 Docker Desktop 扩展,因此您可以添加自定义功能。扩展作为容器镜像分发,其中包含专门准备的内容。找到要使用的扩展程序后,通过前往“设置”>“桌面扩展程序”将其添加到 Podman Desktop。

image

我们来安装一个Padman AI Lab,安装完成后就会出现在Installed列表中,同时你还会看到侧边栏中出现一个新图标,看起来像 Android 头部的顶部。

image


概括

Podman Desktop 是用于管理 Podman 容器环境的图形工具。您可以与机器上的容器、图像和卷进行交互,部署 Kubernetes 清单并监控日志,所有这些都在一个界面中完成。 Podman Desktop 还与 Docker Desktop 扩展兼容,因此您可以访问由更广泛的容器生态系统开发的其他集成。这些功能意味着 Podman Desktop 通常可以用作 Docker Desktop 的直接替代品。

与如何在 Windows 使用 Podman Desktop 取代 Docker Desktop相似的内容:

如何在 Windows 使用 Podman Desktop 取代 Docker Desktop

Podman Desktop 是 Docker Desktop 的免费替代品,是本地开发使用的另一个绝佳选择。它提供了类似的功能集,同时保持完全开源,让您避免使用 Docker 产品的许可问题。在本文中,您将学习如何安装和开始使用 Podman Desktop 来运行容器并部署到 Kubernete

UOS 开启 VisualStudio 远程调试 .NET 应用之旅

本文记录的是在 Windows 系统里面,使用 VisualStudio 2022 远程调试运行在 UOS 里面 dotnet 应用的配置方法 本文写于 2024.03.19 如果你阅读本文的时间距离本文编写的时间过于长,那本文可能包含过期的知识 我将以我的 UOS 虚拟机作为例子告诉大家如何在 W

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(2)-charles安装激活(Mac)最新简单教程【亲测有效】

1.简介 上一篇中宏哥介绍了如何在Windows系统安装激活Charles,那么使用Mac系统的小伙伴或者童鞋们就不高兴了,怎么没有Mac的安装激活教程了。宏哥不能厚此薄彼,今天专门补充一篇在Mac上安装Charles并且将其激活。 2.Mac下载安装 2.1下载Charles 官网下载:https

驱动开发:内核封装WSK网络通信接口

本章`LyShark`将带大家学习如何在内核中使用标准的`Socket`套接字通信接口,我们都知道`Windows`应用层下可直接调用`WinSocket`来实现网络通信,但在内核模式下应用层API接口无法使用,内核模式下有一套专有的`WSK`通信接口,我们对WSK进行封装,让其与应用层调用规范保持一致,并实现内核与内核直接通过`Socket`通信的案例。

12.3 实现模拟鼠标录制回放

本节将向读者介绍如何使用键盘鼠标操控模拟技术,键盘鼠标操控模拟技术是一种非常实用的技术,可以自动化执行一些重复性的任务,提高工作效率,在Windows系统下,通过使用各种键盘鼠标控制函数实现动态捕捉和模拟特定功能的操作。有时我们经常需要进行重复性的鼠标操作,例如繁琐的点击、拖拽。这些任务可能消耗大量...

12.2 实现键盘模拟按键

本节将向读者介绍如何使用键盘鼠标操控模拟技术,键盘鼠标操控模拟技术是一种非常实用的技术,可以自动化执行一些重复性的任务,提高工作效率,在Windows系统下,通过使用各种键盘鼠标控制函数实现动态捕捉和模拟特定功能的操作。键盘鼠标的模拟是实现自动化的必备流程,通常我们可以使用`keybd_event(...

如何创建一个浏览器版的`Window11`

如何创建一个浏览器版的Window11 我们接下来将创建一个在浏览器运行的Window11,可以先看看效果图 这是基于Windows 11 in React修改的功能,我们接下来就将使用Windows 11 in React来创建我们的浏览器的Window11 通过Git拉取源码 git clone

[转帖]如何使用storcli在系统中管理RAID磁盘阵列

Windows版和Linux版storcli命令中个别参数略有差异,可以查看帮助文件,命令如下: ./storcli help page=30 上面命令page=30表示每页显示30行内容。 下载storcli storcli下载地址如下: StorCLI Standalone Utility 查看

【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数

问题描述 在Azure App Service for Windows的环境中,部署.NET应用,其中使用了 SAP NetWeaver RFC函数 (需要加载 sapnwrfc.dll)。详细的错误为: “System.DllNotFoundException: Unable to load DL

C#S7.NET实现西门子PLCDB块数据采集的完整步骤

前言 本文介绍了如何使用S7.NET库实现对西门子PLC DB块数据的读写,记录了使用计算机仿真,模拟PLC,自至完成测试的详细流程,并重点介绍了在这个过程中的易错点,供参考。 用到的软件: 1.Windows环境下链路层网络访问的行业标准工具(WinPcap_4_1_3.exe)下载链接:http