Podman安装与使用

1.Podman简介

Podman是一个无守护进程的容器引擎,用于在Linux系统上开发、管理和运行OCI容器。

Podman的主要功能包括:

  1. 创建和管理容器:Podman可以创建、启动、停止和删除容器,以及管理容器的生命周期。
  2. 容器镜像管理:Podman可以下载、存储和导出容器镜像,以及创建基于镜像的容器。
  3. 容器网络管理:Podman可以创建和管理容器的网络连接,包括桥接网络和覆盖网络。
  4. 容器日志管理:Podman可以查看容器的日志信息,包括标准输出和错误输出。
  5. 容器资源管理:Podman可以限制容器的资源使用,包括CPU、内存和存储等。

Podman是一个命令行工具,提供了一个与Docker兼容的命令行界面。Podman控制下的容器可以由root或非特权用户运行,这增加了系统的安全性和灵活性。

总的来说,Podman是一个功能强大的容器管理工具,可以用于开发和运行OCI容器,无需使用Docker守护进程,具有轻量级和高效的特点。

2.Podman安装

下载

Podman安装 | (podman.io)icon-default.png?t=N7T8https://podman.io/docs/installation

先决条件:由于 Podman 使用 WSL,因此您需要最新版本的 Windows 10 或 Windows 11。在 x64 上,WSL 需要内部版本 18362 或更高版本,arm19041 系统需要 64 或更高版本。在内部,WSL 使用虚拟化,因此系统必须支持并启用硬件虚拟化。如果在 VM 上运行 Windows,则必须具有支持嵌套虚拟化的 VM。
安装Podman

安装 Windows Podman 客户端首先要下载 Podman Windows 安装。Windows安装程序是随每个Podman版本一起构建的,可以从官方 Github 发布页面下载。请务必下载 4.1 或更高版本。

下载后,只需运行exe文件,然后重新启动新终端。在新终端输入podman machine init

 如果重启输入 podman machine init 之后出现以下情况,可以再次关闭终端,再重启之后输入 podman machine init,就可以了

Error: head request failed: https://github.com/containers/podman-wsl-fedora/releases/latest/download/rootfs.tar.xz: Head "https://github.com/containers/podman-wsl-fedora/releases/latest/download/rootfs.tar.xz": read tcp 192.168.133.156:60309->20.205.243.166:443: wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

初始化过程完成后,可以启动和停止Podman

至此,Podman安装完成,关闭当前所有终端,重启新终端后会有如下界面,进入就可以正常使用了

 

Rootful&Rootless

在WSL 上,podman既可以在根用户(root)下运行,也可以在非特权用户(root less)下运行。为了与Linux上的Podman保持行为一致性,默认为无根。注意:有根容器和无根容器是不同的,彼此隔离。针对其中一个的Podman命令(例如Podman ps)不会代表另一个的结果/状态。

Podman 是一个容器引擎工具,允许用户在 Linux 上运行应用程序容器。通常,在 Linux 上运行容器需要 root 权限,但 Podman 可以允许非 root 用户使用容器。简单来说,如果你是一个非 root 用户,并且想要使用 Podman 运行容器,那么你可以直接安装和运行 Podman 软件,而无需获取 root 权限。这个功能非常有用,因为它可以避免不必要的安全风险和权限访问问题。

需注意,虽然 Podman 允许非 root 用户使用容器,但这也意味着您的容器将受到更多限制,例如无法运行全部操作系统等。因此,建议您在需要时与管理员协商并根据情况选择正确的权限。

Docker 默认情况下在 Linux 上是以 root 权限运行,这就意味着如果您想使用 Docker 运行容器,您必须作为 root 用户登录到系统中。这可能会带来一些安全风险,因为 root 用户拥有系统上所有资源的完全控制权,而这并不总是安全或必要的。

不过,Docker 也提供了对非 root 用户访问容器的支持。与 Podman 不同的是,Docker 要求您手动将非 root 用户添加到 docker 组中以实现这一点。这个方法需要管理员权限,并且需要特殊的配置才能正常使用。

与 Docker 相比,Podman 更适合需要以非 root 用户身份管理容器的用户。Podman 可以直接在普通用户下运行,无需任何特殊配置或添加用户到任何组中。这可以使整个容器生命周期更加安全和可靠。

总之,Podman 和 Docker 的区别在于如何允许非 root 用户访问容器。Podman 允许非 root 用户直接运行容器,而 Docker 则需要特殊配置和权限来实现类似的功能。

切换rootful

podman machine stop
podman machine set --rootful

切换rootless

podman machine stop
podman machine set --rootful=false

常用命令

 What is Podman? — Podman documentation

Podman用法与Docker用法十分类似,所以你用过Docker,Podman上手应该很快。

3.补充:

在centos中,也可以通过yum install podman来安装podman使用,不过这种方法下载的podman不是最新版本,而是比较旧的版本。比如在centos7.7.1908中,通过yum install podman下载安装podman的版本信息为1.6.4。

注意,由于上面centos的版本为centos7.7.1908,所以当centos使用overlay2存储驱动时无法正常使用1.6.4版本的podman,podman 1.6.4版本要想使用overlay存储驱动正常工作,centos版本要7.8以上才可以。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/99863.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux-OpenSSL升级

1.安装编译所需的安装包 yum install -y gcc make perl zlib-devel 2.从 OpenSSL 官网下载(https://www.openssl.org/source/openssl-1.1.1v.tar.gz) 注:如果原先版本为1.x.x,升级时还是需要选择1.x.x 3. 编译安装 # 解压tar -xvf openssl-1.1.1v.tar…

SpringMVC综合案例

目录 一、SpringMVC常用注解 二、传递参数 2.1 基础类型String 2.2 复杂类型 2.3 RequestParam 2.4 PathVariable 2.5 RequestBody 2.6 RequestHeader 2.7 请求方法 三、返回值 3.1 void 3.2 String 3.3 StringModel 3.4 ModelAndView 四、页面跳转 4.1 转发 4…

信息系统概述-生命周期-开发方法

信息系统概述-生命周期 考点分析信息系统概述信息系统分类企业目前所使用的具体的信息化系统信息系统的生命周期(重要)信息系统的开发方法(重要) 考点分析 每年都会考3分,2分会超纲 信息系统概述 信息系统分类 业务处理…

【vue】vuex持久化插件vuex-persistedstate:

文章目录 一、说明:二、手动利用HTML5的本地存储:三、利用vuex-persistedstate插件【1】安装【2】配置使用【3】存储sessionStorage的情况【4】存储cookie的情况【5】默认持久化所有state,指定需要持久化的state,配置如下【6】vuex引用多个插…

植物大战僵尸植物表(二)

前言 此文章为“植物大战僵尸”专栏中的第007刊(2023年9月第六刊)。 提示: 1.用于无名版; 2.用于1代; 3.pvz指植物大战僵尸(Plants VS Zonbies)。 植物大战僵尸植物表 土豆雷窝瓜火炬树桩火爆辣椒杨…

CS420 课程笔记 P6 - 游戏逆向中的虚拟内存

文章目录 IntroVirtual memoryExample!Static example Intro 在上个视频中,我们知道有些地址在你重进游戏时就会无效,有的有时有效,我们需要了解称为虚拟内存的东西 记住这些信息:当你双击打开 Squally.exe 游戏时,系…

react 初级基础

react基本使用 项目创建 项目的创建命令 npx create-react-app react-basic创建一个基本元素进行渲染 // 1 导入react 和 react-dom import React from "react"; import ReactDOM from "react-dom";// 2 创建 react 元素 React提供了创建元素的api Rea…

uniapp微信小程序隐私保护引导新规

1.components中新建组件PrivacyPop.vue <template><view class"privacy" v-if"showPrivacy"><view class"content"><view class"title">隐私保护指引</view><view class"des">在使用当…

[羊城杯 2020] easyphp

打开题目&#xff0c;源代码 <?php$files scandir(./); foreach($files as $file) {if(is_file($file)){if ($file ! "index.php") {unlink($file);}}}if(!isset($_GET[content]) || !isset($_GET[filename])) {highlight_file(__FILE__);die();}$content $_GE…

C# OpenVinoSharp PP-TinyPose 人体姿态识别

效果 项目 部分代码 using OpenCvSharp; using OpenCvSharp.Extensions; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;name…

msvcp140.dll是什么东西?msvcp140.dll丢失的5个常用解决方法

今天&#xff0c;我将为大家带来计算机丢失msvcp140.dll修复教程。在我们的日常生活和学习中&#xff0c;计算机问题是无处不在的。有时候&#xff0c;我们可能会遇到一些困扰&#xff0c;比如计算机丢失msvcp140.dll文件。msvcp140.dll是Windows系统中非常重要的动态链接库文件…

JVM的故事——垃圾收集器

垃圾收集器 文章目录 垃圾收集器一、serial收集器二、parnew收集器三、parallel scavenge收集器四、serial old收集器五、parallel old收集器六、CMS收集器七、Garbage First收集器八、收集器的权衡 一、serial收集器 新生代收集器&#xff0c;最基础的收集器&#xff0c;单线…