安装 podman 与 podman-compose

news2024/9/24 11:26:40

文章目录

  • Github
  • 官网
  • 文档
  • Podman 简介
    • Podman 与 Docker 区别
  • Podman 安装
    • 下载安装(推荐)
    • brew 安装(Mac)
  • Podman 虚拟机
    • 虚拟机基础
    • rootful 模式
  • Podman 镜像与容器
  • 安装 podman-compose
  • docker-compose.yml

在这里插入图片描述

Github

  • https://github.com/containers/podman

官网

  • http://podman.io/

文档

  • http://podman.io/docs

Podman 简介

  • Podman 是一个用于管理容器和容器镜像的工具,它允许用户创建、运行和管理容器和容器集群。Podman 的设计目标是提供一个无守护进程(daemon-less)的容器管理体验。

  • 兼容性: Podman 旨在与 Docker CLI 兼容,这意味着你可以使用类似的命令来操作容器和镜像。例如,podman run 与 docker run 执行的功能类似。

  • 无守护进程: Podman 的一个重要特点是它不需要一个持续运行的守护进程。每个 Podman 命令都是一个单独的进程,这使得 Podman 更加符合系统级别的服务和工具的标准。

  • Rootless 模式: Podman 支持无根用户(rootless)模式,即使在没有 root 权限的情况下,也可以创建和管理容器。这提升了安全性,因为容器不会以 root 权限运行。

  • Pod 概念: Podman 支持 Kubernetes 的 Pod 概念,使得在一个 Pod 中运行多个容器变得更为简单。这对于模拟和开发 Kubernetes 环境非常有用。

Podman 与 Docker 区别

  • 守护进程:

    • Docker: 依赖一个持续运行的守护进程(Docker Daemon)来管理容器。
    • Podman: 不依赖守护进程,每个 Podman 命令都是一个独立的进程。这使得 Podman 更加轻量和灵活。
  • Rootless 支持:

    • Docker: 传统上需要 root 权限来运行守护进程,虽然现在也有一些支持 rootless 模式的功能,但它不是默认设置。
    • Podman: 从设计上支持 rootless 模式,用户可以在没有 root 权限的情况下运行和管理容器。
  • 兼容性和接口:

    • Docker: 拥有自己的 CLI 和 API。
    • Podman: 设计上与 Docker CLI 兼容,许多 Docker 命令可以直接用 Podman 运行。
  • 系统集成:

    • Docker: 在许多 Linux 发行版中通常是一个单独的系统服务,使用 Docker 服务启动和管理容器。
    • Podman: 可以直接集成到系统的服务管理中,而不需要一个持续运行的守护进程。
  • 安全性:

    • Docker: Docker Daemon 以 root 权限运行,这可能带来一些安全风险。
    • Podman: 由于其 rootless 支持,容器的运行和管理可以在没有 root 权限的情况下进行,从而减少了潜在的安全风险。

Podman 安装

下载安装(推荐)

  • Mac环境CLI版本:https://github.com/containers/podman/releases/download/v5.2.2/podman-installer-macos-universal.pkg

brew 安装(Mac)

brew install podman

Podman 虚拟机

注: 在不支持容器直接运行的系统上(如 macOS 和 Windows)提供容器支持。

podman machine --help
# 列出所有 podman 虚拟机
podman machine list
# 初始化 podman 默认虚拟机,默认2核cpu、2G内存、100G磁盘
podman machine init
# 初始化 podman-vm 虚拟机,默认2核cpu、2G内存、100G磁盘
podman machine init podman-vm
# 创建 podman-vm 虚拟机,1核cpu、内存1G 、磁盘50G
podman machine init --cpus=1 --memory=1024 --disk-size 50 --rootful podman-vm
# 创建 podman-vm 虚拟机,添加挂载目录
podman machine init -v /Users:/mnt/Users
# 检查虚拟机
podman machine inspect podman-vm 

在这里插入图片描述

# 启动 podman-vm 虚拟机
podman machine start podman-vm
# 停止 podman-vm 虚拟机
podman machine stop podman-vm
# 删除 podman-vm 虚拟机
podman machine rm podman-vm
  • 验证 podman 安装
podman info
# 使用 Podman 访问 podman-vm 虚拟机
podman machine ssh podman-vm

在这里插入图片描述

# 查看 Podman 虚拟机
podman machine info

在这里插入图片描述

podman system connection list

在这里插入图片描述

虚拟机基础

  • 查看当前系统版本
cat /etc/os-release

在这里插入图片描述

  • 虚拟机内安装软件包
# 帮助命令
rpm-ostree --help
# 安装 vim
rpm-ostree install vim
# 必须重启系统后 vim 才会生效
systemctl reboot

在这里插入图片描述

  • 虚拟机内配置文件目录
cd /etc/containers

在这里插入图片描述

rootful 模式

  • 特权操作: 某些容器操作需要 root 权限,例如绑定挂载到主机的特定文件系统或网络配置。
    在 rootful 模式下,可以允许容器做更多系统级的操作,类似于传统的 Docker 守护进程模式。

  • 兼容性: 某些旧的应用程序或容器镜像可能依赖于 root 权限的特性。

  • 集成: 与传统的 Docker 环境更好地集成和兼容,特别是那些对 root 权限有特定要求的应用程序。

podman machine set --rootful podman-vm

当使用 --rootful 选项时,Podman 将在虚拟机中以 root 权限运行容器管理服务。默认情况下,Podman 在虚拟机中通常以 rootless 模式运行,即无需 root 权限就能操作容器。

Podman 镜像与容器

注: Podman 操作命令兼容 Docker 命令。

podman pull mysql:5.7

在这里插入图片描述

podman images

在这里插入图片描述

podman rmi mysql:5.7

在这里插入图片描述

podman ps
podman ps -a

在这里插入图片描述

安装 podman-compose

pip install --upgrade pip
pip install podman-compose
podman-compose -v

docker-compose.yml

version: '3'
services:
  nginx:
    image: nginx:1.27
    container_name: nginx
    restart: always
    ports:
      - 8080:80
      - 443:443
    volumes:
      - /etc/localtime:/etc/localtime
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/conf.d:/etc/nginx/conf.d
      - ./nginx/ssl:/etc/nginx/ssl
      - ./nginx/logs:/var/log/nginx
      - ./nginx/html:/usr/share/nginx/html

注: podman-compose 操作命令兼容 docker-compose 命令。

podman-compose up -d nginx

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

秋招突击——8/23——知识补充——反向代理和正向代理——负载均衡算法

文章目录 引言正文正向代理反向代理负载均衡 面试题1、nginx属于七层网络结构中的哪一层?2、Nginx有哪些负载均衡算法3、什么是反向代理?什么是正向代理? 总结 引言 一步一步把以前忘记的计算机网络知识再捡起来,重新整理一遍&am…

Linux线上安装遇到的一些问题

本文目录 一、基于Linux安装php8二、Linux线上连接数据库问题三、关于线上nginx报错问题 一、基于Linux安装php8 首先登录ubuntu系统后运行命令:sudo apt update 更新完之后,安装我们需要的软件: sudo apt install nginx 安装 mysql。运行命…

UneMeta创始人讲述自己在Web3+IP领域创业的心路历程

昨日,UneMeta创始人,Ann_tyrion在X分享了一篇推文,分享了自己在探索Web3与IP产业结合过程中的心路历程,她并没有像很多项目方那样一味的讲述宏大的叙事,而是字里行间透露出对这个行业的探索和不断给自己充实信念&#…

2024最新Python+PyCharm保姆级安装教程【附激活码】

PyCharm 是由捷克的 JetBrains 公司开发的一款强大的 Python 集成开发环境(IDE),它为 Python 开发者提供了一个全面的编程工具集,支持从代码编写到代码测试、调试和优化等各个环节 ,它支持代码自动完成、代码检查、实时…

多功能秒达工具箱全开源源码,可自部署且完全开源的中文工具箱

简介: 多功能秒达开源工具箱源码,,可自部署且完全开源的中文工具箱,永远的自由软件,轻量级运行,全平台支持(包括ARMv8),完全类似 GPT 的支持,与高效的 UI 高…

MDK报错 .error: unknown register name ‘msp‘ in asm

似乎只能安装 V5的编译器 才能解决,下面是安装链接 https://blog.csdn.net/u011436603/article/details/136419969 V5的编译器 CSDN免费下载链接: 以下办法解决不了 解决办法: 在MDK 桌面图标,右击打开安装位置,在:\K…

论文相关知识

一、论文注意事项一 1.选题原则 开拓性:前人没有专门研究过或虽已研究但尚无理想的结果,有待进一步探讨和研究,或是学术界有分歧,有必要深入研究探讨的问题; 创新性:硕士学位论文要有新的见解,博士学位论文要做出创…

买完服务器后,如何部署项目|如何通过宝塔部署项目

一、前言 很多人都会在腾讯云、阿里云等平台上买服务器,但是买了服务器后,不知道接下来要干什么,或者是怎么部署项目。 买完服务器后,第一步就是再买一个数据盘,然后将数据盘挂载到服务器上,不知道教程的…

深入解析CSS—基础

层叠、相对单位及盒模型是CSS最基本的部分。 1 基础 1.1 层叠、优先级和继承 层叠是指多个css样式在对同一个元素配置同一属性时,依据权重来处理冲突。 权重判断: 样式表来源:浏览器默认样式及开发时定义的样式。选择器优先级。源码顺序…

基于AT32F421的开源电调项目测试

基于AT32F421的开源电调项目测试 📍开源固件地址:https://github.com/lax-fly/lax-esc🧨开源硬件地址:https://oshwhub.com/lax-fly/lax-esc-dev📺演示视频:https://www.bilibili.com/video/BV1di421d7yH/?…

CTEA论文翻译

CTEA论文翻译 Embedding-Based Entity Alignment of Cross-Lingual Temporal Knowledge Graphs 基于嵌入的跨语言时序知识图谱实体对齐 ABSTRACT 实体对齐旨在通过匹配多源知识图谱中的相同实体来构建完整的知识图谱(KG)。现有的实体对齐研究主要集中在知识边缘图中的静态多…

【案例57】记一次类加载导致系统卡死

问题现象 顾问反馈系统卡顿,系统无法使用。所有节点打开都在转圈。 问题分析 排查了nmc,发现在master上有很多堵塞线程,都在做锁相关线程。 查看相关的线程信息发现是在做类加载。Master撑不住,需要把锁独立出来。 线程信息-1 …

EmguCV学习笔记 VB.Net 6.1 边缘检测

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

Docker中镜像文件的打包传输、容器导出镜像及虚拟机端口映射的实现

内网私有仓库 1、Docker 私有仓库 是集中存放镜像的地⽅,⽽注册服务器 (Registry)是存放仓库的具体服务器。仓库可以被认为是⼀个具体 的项⽬或⽬录。 Docker 公共仓库:https://hub.docker.com 2、Docker 私有仓库的作⽤&#…

2、spring生态圈

咱们打开spring.io网站 可以看到spring的功能是很强大的,再看看它的生态圈

即用型封闭容器市场规模:未来几年年复合增长率CAGR为8.3%

一、市场趋势演变 即用型封闭容器行业近年来呈现出快速增长的趋势,这主要得益于其在制药、生物科技、食品加工等多个领域的广泛应用。随着全球对产品质量和安全性的要求不断提高,即用型封闭容器因其便捷性、高效性和可靠性而备受青睐。预计未来几年&…

PMBOK® 第六版 控制范围

目录 读后感—PMBOK第六版 目录 结果固然重要,过程同样不可或缺。过程不仅是通往预期成果的途径,也是个人和团队能力提升与经验积累的关键阶段。过程中的每一步都是学习和成长的机会,每一次尝试都能激发创新,而公正透明的流程更增…

《黑神话:悟空》的开发语言与开发团队揭秘

在国产游戏领域,《黑神话:悟空》无疑是一颗璀璨的新星,它以独特的视角重新诠释了中国古典名著《西游记》中的孙悟空形象,并以其惊人的视觉效果、深邃的游戏剧情以及精湛的技术实现,赢得了国内外玩家的广泛关注与期待。…

粘包现象 | wireshark抓包的使用

在TCP协议的通信过程中,由于其面向流的特性,数据在传输过程中可能会发生粘包现象,即多个发送的数据包被接收方一次性接收,导致应用层无法正确解析数据。 1.粘包现象概述 TCP协议为了保证传输效率,可能会将多次send调…

java 实体常用校验注解方法

1、常用注解: 注解说明Null只能为nullNotNull(message “id不能为空”)必须不为null,可以为空字符串Min(value)必须为一个不小于指定值的数字Max(value)必须为一个不大于指定值的数字NotBlank(message “姓名不能为空”)验证注解的元素值不为空&#…