podman简介与安装与常用基础命令

2023-12-17 12:20

本文主要是介绍podman简介与安装与常用基础命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

podman简介与安装与常用基础命令

文章目录

  • podman简介与安装与常用基础命令
    • 1 podman简介
    • 2:podman与docker的差别
    • 3:安装podman与配置
    • 4 podman容器常用基础命令
      • podman run
      • start启动容器
      • ps 查看容器
      • stop 停止容器
      • restart 重启容器
      • attch 进入容器
      • exec 进入容器
      • rm 删除容器
      • logs 查看日志
    • 5:podman镜像常用基础命令
      • search 检索镜像
      • 获取镜像
      • images 列出镜像
      • image ls 列出镜像
      • rmi 删除镜像
      • image rm 删除镜像
      • tag 标记本地镜像,将其归入某一仓库。
      • login 登录到一个镜像仓库
      • push 上传镜像

1 podman简介

Podman(Pod Manager)是一个功能齐全的容器引擎,是一个简单的无守护程序工具。Podman提供了一个与Docker-CLI类似的命令行,可以轻松地从其他容器引擎过渡,并允许管理Pod、容器和图像。简单地说: alias docker=podman 。大多数Podman命令都可以作为普通用户运行,而不需要额外的权限。

Podman在内部使用Buildah(1)创建容器映像。这两个工具共享图像(而不是容器)存储,因此每个工具都可以使用或操作对方创建的图像(但不能操作容器)。

标志的默认设置在中定义 containers.conf 。远程连接的大多数设置都使用服务器的tainers.conf,手册页中记录的情况除外。

2:podman与docker的差别

dockers在实现CRI的时候,它需要一个守护进程,以root权限运行这样会带来安全隐患,而podman不需要守护进程和root权限。
在docker的运行体系中,需要多个daemon才能调用到OCI的实现RunC。
在容器管理的链路中,Docker Engine的实现就是dockerd
daemon,它在linux中需要以root运行,dockerd调用containerd,containerd调用containerd-shim,然后才能调用runC。顾名思义shim起的作用也就是“垫片”,避免父进程退出影响容器的运行
在这里插入图片描述

3:安装podman与配置

安装podman

[root@localhost ~]# yum -y install podman

配置podman

[root@localhost ~]# vim /etc/containers/registries.conf
# unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "registry.centos.org", "docker.io"]unqualified-search-registries = ["docker.io"]
[[registry]]
prefix = "docker.io"
location = "wlfs9l74.mirror.aliyuncs.com"

4 podman容器常用基础命令

podman run

创建并启动容器

[root@localhost ~]# podman run --name httpd busybox:latest

start启动容器

[root@localhost ~]# podman ps -a
CONTAINER ID  IMAGE                             COMMAND     CREATED             STATUS            PORTS       NAMES
d36984b8d048  docker.io/library/busybox:latest  sh          About a minute ago  Up 3 seconds ago              httpd

ps 查看容器


[root@localhost ~]# podman ps -a
CONTAINER ID  IMAGE                             COMMAND     CREATED         STATUS             PORTS       NAMES
d36984b8d048  docker.io/library/busybox:latest  sh          12 seconds ago  Up 12 seconds ago              httpd

stop 停止容器


[root@localhost ~]# podman ps -a
CONTAINER ID  IMAGE                             COMMAND     CREATED         STATUS             PORTS       NAMES
d36984b8d048  docker.io/library/busybox:latest  sh          12 seconds ago  Up 12 seconds ago              httpd
[root@localhost ~]# podman stop httpd
[root@localhost ~]# podman ps -a
CONTAINER ID  IMAGE                             COMMAND     CREATED         STATUS                      PORTS       NAMES
d36984b8d048  docker.io/library/busybox:latest  sh          41 seconds ago  Exited (137) 8 seconds ago              httpd

restart 重启容器


[root@localhost ~]# podman ps -a
CONTAINER ID  IMAGE                             COMMAND     CREATED        STATUS                 PORTS       NAMES
d36984b8d048  docker.io/library/busybox:latest  sh          2 minutes ago  Up About a minute ago              httpd
[root@localhost ~]# podman  restart httpd
[root@localhost ~]# podman ps -a
CONTAINER ID  IMAGE                             COMMAND     CREATED        STATUS           PORTS       NAMES
d36984b8d048  docker.io/library/busybox:latest  sh          2 minutes ago  Up 1 second ago              httpd

attch 进入容器


[root@localhost ~]# podman attach httpd
/ #

exec 进入容器


[root@localhost ~]# podman exec -it httpd /bin/sh
/ #

rm 删除容器

[root@localhost ~]# podman ps -a
CONTAINER ID  IMAGE                             COMMAND     CREATED        STATUS            PORTS       NAMES
d36984b8d048  docker.io/library/busybox:latest  sh          8 minutes ago  Up 2 minutes ago              httpd
[root@localhost ~]# podman rm -f httpd
[root@localhost ~]# podman ps -a
CONTAINER ID  IMAGE       COMMAND     CREATED     STATUS      PORTS       NAMES

logs 查看日志

[root@localhost ~]# podman logs httpd

5:podman镜像常用基础命令

search 检索镜像

[root@localhost ~]# podman search httpd
NAME                                             DESCRIPTION
docker.io/library/httpd                          The Apache HTTP Server Project
docker.io/clearlinux/httpd                       httpd HyperText Transfer Protocol (HTTP) server program with the benefits of Clear Linux OS
docker.io/centos/httpd-24-centos7                Platform for running Apache httpd 2.4 or building httpd-based application

获取镜像


[root@localhost ~]# podman pull centos
Resolved "centos" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf)
Trying to pull quay.io/centos/centos:latest...
Getting image source signatures
Copying blob 7a0437f04f83 done
Copying config 300e315adb done
Writing manifest to image destination
Storing signatures
300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55
[root@localhost ~]# podman images
quay.io/centos/centos      latest      300e315adb2f  20 months ago  217 MB

images 列出镜像

[root@localhost ~]# podman images
quay.io/centos/centos      latest      300e315adb2f  20 months ago  217 MB

image ls 列出镜像


quay.io/centos/centos      latest      300e315adb2f  20 months ago  217 MB

rmi 删除镜像

[root@localhost ~]# podman images
REPOSITORY                 TAG         IMAGE ID      CREATED        SIZE
docker.io/library/busybox  latest      beae173ccac6  7 months ago   1.46 MB
docker.io/ningnoob/ceshi   g1          beae173ccac6  7 months ago   1.46 MB
localhost/ningnoob/ceshi   c1          beae173ccac6  7 months ago   1.46 MB
quay.io/centos/centos      latest      300e315adb2f  20 months ago  217 MB
[root@localhost ~]#
[root@localhost ~]# podman rmi  localhost/ningnoob/ceshi:c1
Untagged: localhost/ningnoob/ceshi:c1
[root@localhost ~]# podman images
REPOSITORY                 TAG         IMAGE ID      CREATED        SIZE
docker.io/library/busybox  latest      beae173ccac6  7 months ago   1.46 MB
docker.io/ningnoob/ceshi   g1          beae173ccac6  7 months ago   1.46 MB
quay.io/centos/centos      latest      300e315adb2f  20 months ago  217 MB

image rm 删除镜像


[root@localhost ~]# podman images
REPOSITORY                 TAG         IMAGE ID      CREATED        SIZE
docker.io/library/busybox  latest      beae173ccac6  7 months ago   1.46 MB
docker.io/ningnoob/ceshi   g1          beae173ccac6  7 months ago   1.46 MB
quay.io/centos/centos      latest      300e315adb2f  20 months ago  217 MB
[root@localhost ~]# podman image rm docker.io/ningnoob/ceshi:g1
Untagged: docker.io/ningnoob/ceshi:g1
[root@localhost ~]# podman images
REPOSITORY                 TAG         IMAGE ID      CREATED        SIZE
docker.io/library/busybox  latest      beae173ccac6  7 months ago   1.46 MB
quay.io/centos/centos      latest      300e315adb2f  20 months ago  217 MB

tag 标记本地镜像,将其归入某一仓库。


[root@localhost ~]# podman images
REPOSITORY                 TAG         IMAGE ID      CREATED        SIZE
docker.io/library/busybox  latest      beae173ccac6  7 months ago   1.46 MB
quay.io/centos/centos      latest      300e315adb2f  20 months ago  217 MB
[root@localhost ~]#
[root@localhost ~]# podman tag docker.io/library/busybox:latest docker.io/ningnoob/ceshi:s1
[root@localhost ~]# podman images
REPOSITORY                 TAG         IMAGE ID      CREATED        SIZE
docker.io/library/busybox  latest      beae173ccac6  7 months ago   1.46 MB
docker.io/ningnoob/ceshi   s1          beae173ccac6  7 months ago   1.46 MB
quay.io/centos/centos      latest      300e315adb2f  20 months ago  217 MB

login 登录到一个镜像仓库


[root@localhost ~]# podman login
Username: ningnoob
Password:
Login Succeeded!

push 上传镜像


[root@localhost ~]# podman push docker.io/ningnoob/ceshi:s1
Getting image source signatures
Copying blob 01fd6df81c8e skipped: already exists
Copying config beae173cca done
Writing manifest to image destination
Storing signatures

这篇关于podman简介与安装与常用基础命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/504348

相关文章

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

golang中reflect包的常用方法

《golang中reflect包的常用方法》Go反射reflect包提供类型和值方法,用于获取类型信息、访问字段、调用方法等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录reflect包方法总结类型 (Type) 方法值 (Value) 方法reflect包方法总结

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作