当前位置: 首页 > news >正文

安装 podman 与 podman-compose

文章目录

  • 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.27container_name: nginxrestart: alwaysports:- 8080:80- 443:443volumes:- /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.mrgr.cn/news/5865.html

相关文章:

  • SQL关键字检测持续优化,太难了
  • Pytorch:复写Dataset函数详解,以及Dataloader如何调用
  • 【数据分析】数据的计量尺度、数据集中趋势
  • 探索高效院内导航系统:最新技术解决方案与实战代码分享
  • 如何在算家云搭建模型mPLUG-Owl3(智能对话)
  • 第 10 章 正则表达式
  • Centos7.6-DNS服务安装与配置
  • mysql数据库调优
  • 模拟实现queue适配器【队列】【C++】
  • 【注解】@JsonProperty 详解
  • 【网络安全】副业兼职日入12k,网安人不接私活就太可惜了!
  • Stable Diffusion整合包与手动本地部署结合内网穿透远程AI绘画
  • 计算机毕业设计选题推荐-民宿可视化分析-Python爬虫-随机森林算法
  • oracle liunx 常用命令
  • HTML组件上传
  • ZooKeeper 的3种部署模式
  • 网络协议概述,ip协议,TCP协议,udp协议,二者区别,python中用socket类实现网络通信程序的编写(服务器套接字实现TCP编程,UDP编程)
  • PPT分享:埃森哲-流程制造的智能工厂规划设计
  • 四十一、【人工智能】【机器学习】- Bayesian Logistic Regression算法模型
  • Java基础知识八