0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何安装podman并创建podman容器

dyquk4xk2p3d 来源:Linux就该这么学 作者:linuxprobe 2022-11-10 09:17 次阅读

环 境

Centos8

安装podman

Podman 是一个容器环境,首先在主机上安装 Podman。执行下面命令来安装podman:

[root@localhost~]#yum-yinstallpodman
然后修改一下用户命名空间的大小:
[root@localhost~]#echo"user.max_user_namespaces=28633">>/etc/sysctl.d/userns.conf
[root@localhost~]#sysctl-p/etc/sysctl.d/userns.conf
user.max_user_namespaces=28633
下面创建一个podman容器来看一下吧,下面使用的是RHEL的UBI镜像:
[root@localhost~]#podmanrunubi8/ubicat/etc/os-release
Resolved"ubi8/ubi"asanalias(/etc/containers/registries.conf.d/001-rhel-shortnames.conf)
Tryingtopullregistry.access.redhat.com/ubi8/ubi:latest...
Gettingimagesourcesignatures
Checkingifimagedestinationsupportssignatures
Copyingblobce3c6836540fdone
Copyingblob63f9f4c31162done
Copyingconfigcc06568478done
Writingmanifesttoimagedestination
Storingsignatures
NAME="RedHatEnterpriseLinux"
VERSION="8.5(Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.5"
PLATFORM_ID="platform:el8"
PRETTY_NAME="RedHatEnterpriseLinux8.5(Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/oenterprise_linux:baseos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/red_hat_enterprise_linux/8/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="RedHatEnterpriseLinux8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.5
REDHAT_SUPPORT_PRODUCT="RedHatEnterpriseLinux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.5"

bfa2d23e-608d-11ed-8abf-dac502259ad0.png

创建Dockerfile

现在可以创建一个 Dockerfile 来指定如何构建新的镜像。首先需要为 Dockerfile 文件创建一个目录:

[root@localhost~]#mkdir~/myc
[root@localhost~]#cd~/myc
创建一个文件Dockerfile文件,来建立一个新镜像:
[root@localhostmyc]#vimDockerfile

FROMubi8/ubi:latest
RUNdnfinstall-ynano

c0160e98-608d-11ed-8abf-dac502259ad0.png


开始使用podman build来创建容器:

[root@localhostmyc]#podmanbuild-fDockerfile-tubi-with-nano
[root@localhostmyc]#podmanbuild-fDockerfile-tubi-with-nano
STEP1/2:FROMubi8/ubi:latest
STEP2/2:RUNdnfinstall-ynano
UpdatingSubscriptionManagementrepositories.
Unabletoreadconsumeridentity
...

c0242f5a-608d-11ed-8abf-dac502259ad0.png


使用podman images来确认是否创建新镜像:

[root@localhostmyc]#podmanimages

c035b9c8-608d-11ed-8abf-dac502259ad0.png


现在你可以运行容器了,检查nano编辑器是否可用:

[root@localhostmyc]#podmanrunlocalhost/ubi-with-nano/usr/bin/whichnano
/usr/bin/nano
通过查看nano执行文件的位置,来检查是否安装。 Nano 现在已安装在你的自定义容器中。还可以交互式的运行容器:
[root@localhostmyc]#podmanrun-itlocalhost/ubi-with-nano/bin/bash
[root@d1f0e46f2b6d/]#ls
bindevhomelib64mediaoptrootsbinsysusr
bootetcliblost+foundmntprocrunsrvtmpvar
[root@d1f0e46f2b6d/]#

c042b42a-608d-11ed-8abf-dac502259ad0.png


在容器中运行exit来退出容器。 可以使用podman ps来查看运行的容器,如果需要查看以停止的容器,可以添加-a选项:

[root@localhostmyc]#podmanps
[root@localhostmyc]#podmanps-a

c050c79a-608d-11ed-8abf-dac502259ad0.png

存 储

经常让新用户感到困惑的一件事是它们的短暂性。例如进入容器里创建的文件,退出之后,再次进入发现文件没有了。下面我们将容器中需要存储永久性文件的文件夹挂载到系统的某个文件夹中。下面在本机创建一个存储位置:

[root@localhost~]#mkdir/pod_data
然后使用您的存储目录作为一些相关的挂载点来启动容器。此示例将本地目录/pod_data绑定到容器中名为/storage的位置,必须在目录位置附加:Z,以便 SELinux 可以在主机和 Podman 之间转换上下文。
[root@localhost~]#podmanrun-it--volume/pod_data:/storage:Zlocalhost/ubi-with-nano
[root@d590bc344b76/]#echo"hellopodman">>/storage/msg.txt
[root@d590bc344b76/]#exit
exit
[root@localhost~]#cat/pod_data/msg.txt
hellopodman

c09bd85c-608d-11ed-8abf-dac502259ad0.png


可以看到目录绑定之后,在容器中写入数据,退出容器,在本机的/pod_data可以看到写入的内容。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LINUX内核
    +关注

    关注

    1

    文章

    311

    浏览量

    21389
  • UBI
    UBI
    +关注

    关注

    0

    文章

    9

    浏览量

    4091
  • RHEL
    +关注

    关注

    0

    文章

    13

    浏览量

    2967

原文标题:如何快速建立一个 podman 环境

文章出处:【微信号:良许Linux,微信公众号:良许Linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    容器安装技巧

    容器安装技巧 1 安装容器时,每台电容器的接线最好采用单独的软线与母线相连,不要采用硬母线连接,以防止装配应力造成电
    发表于 12-08 09:06 4313次阅读

    本地安装创建MySQL数据库

    本地安装创建MySQL数据库
    的头像 发表于 01-13 15:15 616次阅读
    本地<b class='flag-5'>安装</b>并<b class='flag-5'>创建</b>MySQL数据库

    如何在Docker中创建容器

    ”选择当中,自动完成下载。 4.大多数时候,容器创建需要一些变量设置,此信息通常由开发人员提供。您若需要了解映像文件的设置信息,请点击映像文件右边的符号。 5.在“映像”选项中选择已经下载好的映像
    发表于 01-03 15:58

    理解Docker容器畅玩docker

    选择win10专业版以下以win10专业版为例子,检查硬件是否支持虚拟化功能,若显示未启用,请在BIOS中开启虚拟化功能,安装hyper v服务hyper v软件功能已安装如果在以上前提下仍无法运行
    发表于 11-05 09:54

    嵌入式Servlet容器启动原理是什么

    一、SpringBoot应用启动运行run方法二、run方法调用了refreshContext(context);SpringBoot刷新IOC容器创建IOC容器对象,初始化
    发表于 12-20 07:54

    什么时候获取嵌入式的Servlet容器启动Tomcat

    什么时候创建嵌入式的Servlet容器工厂?什么时候获取嵌入式的Servlet容器启动Tomcat?获取嵌入式的Servlet容器工厂:1
    发表于 12-20 06:11

    Podman容器pod管理工具

    ./oschina_soft/libpod.zip
    发表于 05-10 10:00 1次下载
    <b class='flag-5'>Podman</b><b class='flag-5'>容器</b>pod管理工具

    Podman for macOS macOS平台的Podman前端

    ./oschina_soft/podman-macos.zip
    发表于 06-23 11:13 0次下载
    <b class='flag-5'>Podman</b> for macOS macOS平台的<b class='flag-5'>Podman</b>前端

    从头创建Jetson的容器

    使用 Docker 容器的最大好处就是 “独立性强”,在前面文章中我们教大家如何使用 NVIDIA 在 NGC 提供创建好的 l4t-ml 系列镜像为基础,去创建各种机器学习 / 深度学习的开发
    的头像 发表于 09-07 09:59 770次阅读

    在Rocky8安装并使用podman

    Podman是redhat发行的容器管理工具,类似于docker,但是没有守护进程。它不仅可以管理OCI容器,还可以管理pod, 这也是和docker的最大差别吧.
    的头像 发表于 10-10 09:32 1701次阅读

    使用podman-compose部署wordpress的示例

    我们对于docker-compose并不陌生,它是一个用于编排多个可能相互依赖的容器的工具。
    的头像 发表于 10-17 10:59 2296次阅读

    除了Docker我们还有哪些选择?

    Podman 是 RedHat 开发的一个无守护程序的开源 Linux 原生容器引擎,用于构建、运行和管理 Linux OCI 容器容器镜像。尽管
    的头像 发表于 12-01 11:25 814次阅读

    组织容器网络的原理及方案

    Podman 容器管理器的一个很好的特性是关注于 rootless 容器。但是,你可能注意到,本文使用了很多 sudo 命令。说明,没有 root 权限无法配置网络。
    发表于 12-31 16:01 234次阅读

    deepin V23 beta应用兼容:V20的应用,兼容啦!

    应用兼容的功能实现是基于开源工具distrobox。distrobox是一组shell编写的脚本,是docker/podman的wrapper,用于从OCI镜像快速创建一个环境,让用户可以在A发行版上使用B发行版中的软件包。
    的头像 发表于 05-19 11:44 2369次阅读
    deepin V23 beta应用兼容:V20的应用,兼容啦!

    Podman中运用容器存储库实用教程

    驱动领域至关重要。在容器/存储中,我们默认使用overlay驱动程序。在 Docker 世界中,有两个 Overlay 驱动程序,overlay 和 Overlay2,现在大多数用户使用 Overlay2 驱动程序,所以我们只使用其中一个
    的头像 发表于 03-05 14:32 203次阅读