podman-2-podman的安装及使用

podman官方网站
podman官方安装教程

1 podman简介

podman是一个无守护、开源的Linux本地工具,旨在使用open Containers Initiative(OCI)让容器和镜像更加方便地查找、运行、构建、共享和部署应用程序。

podman提供了一个命令行接口(CLI),任何使用过 Docker容器引擎的人都能很快上手podman。大多数用户可以简单地将podman别名为Docker(alias Docker = Podman),没有任何问题。

与其他常见的容器引擎 (Docker、CRI-O、containerd)类似,podman依赖于符合OCI的容器运行时(runc、cron、runv等)来与操作系统交互并创建运行的容器。这使得由podman创建的正在运行的容器与由任何其他通用容器引擎创建的容器几乎没有区别。

1.1 podman与Docker的区别

daemon是一段连续运行的程序,用于处理计算机系统希望接收到的阶段性的服务需求。daemon程序段将请求提交给其他合适的程序(或者进程)。网络上每个页面的服务器都有一个HTTPD或是超文本传输协议daemon,持续地等待从网络客户端及其用户发送来的请求。
在这里插入图片描述
podman的使用体验和Docker类似,不同的是 podman没有daemon,以前使用Docker CLI的时候,Docker CLI会通过gRPC API去跟Docker Engine说我要启动一个容器,然后Docker Engine才会通过OCI Container runtime(默认是runc)来启动一个容器。
在这里插入图片描述
这就意味着容器的进程不可能是Docker CLI的子进程,而是Docker Engine的子进程

Podman比较简单粗暴,它不使用Daemon,而是直接通过OCI runtime(默认也是runc)来启动容器,所以容器的进程是podman的子进程。这比较像Linux的fork/exec模型,而Docker采用的是C/S(客户端/服务器)模型。与C/S模型相比,fork/exec模型有很多优势,比如:

(1)系统管理员可以知道某个容器进程到底是谁启动的。
(2)如果利用cgroup对podman做一些限制,那么所有创建的容器都会被限制。
(3)如果将podman命令放入systemd单元文件中,容器进程可以通过podman返回通知,表明服务已准备好接收任务。
(4)可以将连接的socket从systemd传递到podman,并传递到容器进程以便使用它们。

1.2 podman特性

2 podman安装

2.1 ubuntu安装podman

在这里插入图片描述
注意:Ubuntu 22.04 LTS的Kubic软件包已经停止使用。强烈建议Kubic repos for Ubuntu的当前用户在升级到Ubuntu 22.04 LTS之前卸载Kubic repos中的软件包。
一、20.10及以上的软件仓库已经有podman了,直接命令安装

sudo apt update
sudo apt install podman

二、切换为清华源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo gedit /etc/apt/sources.list
sudo apt-get update
sudo apt-get upgrade

内容如下

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

三、验证安装

podman --version查看版本
podman info 显示有关主机、当前存储统计信息和podman构建的信息

2.2 配置镜像加速

默认镜像库,文件 /etc/containers/registries.conf是设置镜像地址配置文件。

默认会搜索
['registry.access.redhat.com', 
'registry.redhat.io', 
'docker.io', 'quay.io']
等几个镜像库。

不过,这几个镜像库下载速度非常慢,可以说是基本无法顺利的将镜像拉下来。所以,需要修改修改镜像库配置文件,也就是大家说的镜像加速方案。

cd /etc/containers
cp registries.conf registries.conf.bak备份
vi registries.conf

输入以下内容

unqualified-search-registries = ["docker.io"]
[[registry]]
prefix = "docker.io"
location = "ekcolff1.mirror.aliyuncs.com"

测试使用

podman pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1
podman images

3 podman使用

大部分的命令与docker使用相差不大。

podman pull alpine
podman images
Podman的本地存储库位于/var/lib/containers中。
podman  run -it  --rm docker.io/library/alpine /bin/sh
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮皮冰燃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值