podman容器工具的具体使用

目录
  • podman简介
  • Podman和Docker的主要区别是什么?
  • podman安装使用
  • 配置镜像加速
  • 相关工具

podman简介

Podman是一个开源项目,可在大多数Linux平台上使用并开源在GitHub上。Podman是一个无守护进程的容器引擎,用于在Linux系统上开发,管理和运行Open Container Initiative(OCI)容器和容器镜像。Podman提供了一个与Docker兼容的命令行前端,它可以简单地作为Docker cli,简单地说你可以直接添加别名:alias docker = podman来使用podman。

Podman控制下的容器可以由root用户运行,也可以由非特权用户运行。Podman管理整个容器的生态系统,其包括pod,容器,容器镜像,和使用libpod library的容器卷。Podman专注于帮助您维护和修改OCI容器镜像的所有命令和功能,例如拉取和标记。它允许您在生产环境中创建,运行和维护从这些映像创建的容器。

官网:https://podman.io/
安装文档:https://github.com/containers/libpod/blob/master/install.md
配置参考:https://github.com/containers/image/blob/master/docs/containers-registries.conf.5.md

Podman和Docker的主要区别是什么?

  • dockers在实现CRI的时候,它需要一个守护进程,其次需要以root运行,因此这也带来了安全隐患。
  • podman不需要守护程序,也不需要root用户运行,从逻辑架构上,比docker更加合理。
  • 在docker的运行体系中,需要多个daemon才能调用到OCI的实现RunC。
  • 在容器管理的链路中,Docker Engine的实现就是dockerd
  • daemon,它在linux中需要以root运行,dockerd调用containerd,containerd调用containerd-shim,然后才能调用runC。顾名思义shim起的作用也就是“垫片”,避免父进程退出影响容器的运训
  • podman直接调用OCI,runtime(runC),通过common作为容器进程的管理工具,但不需要dockerd这种以root身份运行的守护进程。
  • 在podman体系中,有个称之为common的守护进程,其运行路径通常是/usr/libexec/podman/conmon,它是各个容器进程的父进程,每个容器各有一个,common的父则通常是1号进程。podman中的common其实相当于docker体系中的containerd-shim。

podman安装使用

使用centos官方yum源进行安装

$ yum install -y podman
$ podman version
Version:            1.4.4
RemoteAPI Version:  1
Go Version:         go1.10.3
OS/Arch:            linux/amd64

配置镜像加速

这里使用阿里云镜像加速器

cp /etc/containers/registries.conf{,.bak}

cat > /etc/containers/registries.conf << EOF
unqualified-search-registries = ["docker.io"]

[[registry]]
prefix = "docker.io"
location = "uyah70su.mirror.aliyuncs.com"
EOF

拉取镜像

$ podman pull centos
Trying to pull docker.io/library/centos...Getting image source signatures
Copying blob 8ba884070f61 done
Copying config 9f38484d22 done
Writing manifest to image destination
Storing signatures
9f38484d220fa527b1fb19747638497179500a1bed8bf0498eb788229229e6e1

运行容器

$ podman images
REPOSITORY                 TAG      IMAGE ID       CREATED        SIZE
docker.io/library/centos   latest   9f38484d220f   4 months ago   209 MB
$ podman run -itd --name test centos sleep 3600
1fc033bb22096008049709d70869d54e3fa9e4d72c6d098f4b5601fd6747a9b9
$ podman ps
CONTAINER ID  IMAGE                            COMMAND     CREATED        STATUS            PORTS  NAMES
1fc033bb2209  docker.io/library/centos:latest  sleep 3600  7 seconds ago  Up 6 seconds ago         test

配置为别名

$ echo "alias docker=podman" >> .bashrc
$ source .bashrc

$ docker ps -a
CONTAINER ID  IMAGE                            COMMAND     CREATED        STATUS            PORTS  NAMES
1fc033bb2209  docker.io/library/centos:latest  sleep 3600  7 minutes ago  Up 7 minutes ago         test

相关工具

Buildah

Buildah专注于构建OCI镜像。 Buildah的命令复制了Dockerfile中的所有命令。可以使用Dockerfiles构建镜像,并且不需要任何root权限。 Buildah的最终目标是提供更低级别的coreutils界面来构建图像。Buildah也支持非Dockerfiles构建镜像,可以允许将其他脚本语言集成到构建过程中。 Buildah遵循一个简单的fork-exec模型,不以守护进程运行,但它基于golang中的综合API,可以存储到其他工具中。虽然Podman也可以用户构建Docker镜像,单构建速度较慢。

Skopeo

Skopeo是一个工具,允许我们通过push,pull和复制镜像来处理Docker和OC镜像。

到此这篇关于podman容器工具的具体使用的文章就介绍到这了,更多相关podman使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Podman开机自启容器实现过程及与Docker对比

    目录 1.podman介绍 2.与docker相比的优势 3.兼容性 4.后台服务单元文件的优先级 5.podman基本操作 安装 版本 仓库 命令帮助 镜像加速器 拉取镜像 6.运行一个web容器 后台启动一个web容器,并访问容器内容 暂停与删除容器 7.web容器设置开机自启 后台运行一个web容器 创建.service单元文件 查看生成的单元文件 删除刚才的容器 设置开机自启 1.podman介绍 podman之前是CRI-O项目的一部分,后被分离成独立的项目libpod,libpod是

  • 被弃用的 Docker 会被 Podman 取代吗

    Kubernetes 团队近日宣布将在最新版本中弃用 Docker 支持的功能,后续版本会陆续删除这些功能. 近日,Kubernetes 团队发布了最新的 1.20 版本,新版本更新了许多内容: 存储卷快照功能趋于稳定:Kubectl Debug 进入 Beta:Beta:API 优先级和公平性:IPV4/IPV6 Alpha 功能更新:GA:限制进程 PID:Dockershim 弃用:Exec 探针超时处理等等(详情可查看:https://kubernetes.io/blog/2020/12

  • podman容器工具的具体使用

    目录 podman简介 Podman和Docker的主要区别是什么? podman安装使用 配置镜像加速 相关工具 podman简介 Podman是一个开源项目,可在大多数Linux平台上使用并开源在GitHub上.Podman是一个无守护进程的容器引擎,用于在Linux系统上开发,管理和运行Open Container Initiative(OCI)容器和容器镜像.Podman提供了一个与Docker兼容的命令行前端,它可以简单地作为Docker cli,简单地说你可以直接添加别名:alias

  • 继docker之后podman容器技术崛起

    一.什么是podman与OCI Podman是一个无守护进程.开源的原生容器工具,旨在基于 Open Containers Initiative ( OCI )组织及规范,让镜像容器能够轻松查找.运行.构建.共享和部署应用程序. 提到podman就不能不说说OCI,这个组织有点意思.Docker容器技术出现并且迅速风靡全球,为传统的持续集成与持续发布领域带来了革命性的变化. 这个时候各个大佬们(谷歌,Redhat.微软.IBM.Intel.思科)就有点坐不住了,大家一起喝喝茶聊聊天就决定要成立一

  • Docker容器迁移到其他服务器的5种方法详解

    迁移在许多情况下都是不可避免的.硬件升级.数据中心变化.过时的操作系统,所有这些都可能成为迁移的触发点. Docker容器迁移通常是迁移任务的一部分.今天我们将看到将Docker容器从现有服务器迁移到另一台服务器的不同方法. 如何将Docker容器迁移到另一台服务器,没有直接将Docker容器从一台服务器迁移到另一台服务器的方法,我们通过使用下面这些方法中的一个或多个来解决Docker容器迁移的问题. 1.导出和导入容器 导出容器意味着从容器的文件系统创建压缩文件,导出的文件保存为"gzip&q

  • Kubernetes(K8S)容器集群管理环境完整部署详细教程-上篇

    Kubernetes(通常称为"K8S")是Google开源的容器集群管理系统.其设计目标是在主机集群之间提供一个能够自动化部署.可拓展.应用容器可运营的平台.Kubernetes通常结合docker容器工具工作,并且整合多个运行着docker容器的主机集群,Kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术.Kubernetes是一个用于容器集群的自动化部署.扩容以及运维的开源平台. 本文系列: Kubernetes(K8S)容器集群管理环境完整部署详

  • 详细记一次Docker部署服务的爬坑历程

    第一次写文.请允许我自我介绍一下... 大家好我是茉莉.为什么叫茉莉呢?emmm ID茉莉转圈圈? 皮一下,嘻嘻嘻.笔者两年小菜鸡(差三天满两年).因为公司只有一个我和前端两个人.所以线上服务部署的任务自然而然就落到了我的肩膀上啦.第一次用docker正式在生产环境部署服务.从一个坑爬出来又掉入另一个坑.就记录一下这次上线遇到的bug.写的不对的地方麻烦各位指正噢.见谅! 好啦.废话不多说.action! 本项目采用的是spring cloud+spring boot+spring gatewa

  • VirtualBox+Ubuntu16搭建Kubernetes集群的实现

    Kubernetes 运维之路 的开始当然少不了集群环境的搭建,这篇文章记录了我在一台机器使用 VirtualBox + Ubuntu 16 搭建 Kubernetes 的整个过程,包括其中遇到的一些问题以及解决办法. 关于 Kubernetes 下面是一段来自维基百科的关于 Kubernetes 的解释: Kubernetes(常简称为 K8s)是用于自动部署.扩展和管理「容器化(containerized)应用程序」的开源系统.该系统由 Google 设计并捐赠给 Cloud Native

  • Java实战小技巧之数组与list互转

    目录 前言 I. 数组转 List 1. Array.asList 1.1 知识点 2. new ArrayList 2.1 避雷预警 3. Collections.addAll II. 列表转数组 III. 小结 总结 前言 这个考题比较常见,也比较简单,难道就这也有什么可以说到的门路不成? 接下来本文好好的说一说它的几种实现姿势,总有一款你喜欢的 I. 数组转 List 1. Array.asList 这个考题太简单了,直接使用Array.asList不就完事了么,比如 @Test publ

  • Docker管理之碎片知识整理小结

    目录 一.概述 二.应用示例 2.1.Docker容器隔离之Namespace 2.2.Docker之自由限制cgroup 2.3.给运行中的容器设置端口映射 2.4.修改运行中docker容器中的内容 2.5.Docker容器迁移到其他服务器 2.6.查看docker镜像中文件 2.7.运行容器:docker run常用选项 一.概述 本文旨在汇总整理Docker日常管理之知识碎片,以便日后回顾查看参考. 二.应用示例 2.1.Docker容器隔离之Namespace Namespace:是容

  • kali下对Docker的详细安装教程

    目录 0x00 前言 0x01 Docker的安装 1.Linux内核版本查看 2.更新apt源满足下载要求 3.进行系统或工具的更新 4.采用apt安装Docker 5.检验Docker成功安装 0x02 Docker的其他配置 1.配置阿里云镜像加速 2.设置Docker开机自启 0x03 Docker的简单使用 0x04 Docker的常用命令 0x05 docker --help中文译解 0x06 后记 0x07 知识链接 0x00 前言 Docker是渗透测试中必学不可的一个容器工具,

随机推荐