Linux 安装 Podman 及镜像加速配置

Linux 安装 Podman 及镜像加速配置

Podman 是一个无守护进程的容器管理工具,兼容 Docker CLI,无需 root 权限即可运行容器,是 Docker 的优秀替代方案。

一、Podman 简介

注:本章节由AI生成

1.1 什么是 Podman

Podman(Pod Manager)是由 Red Hat 开发的开源容器管理工具,具有以下特点:

  • 无守护进程:直接通过 fork-exec 模式运行容器,无需后台服务
  • Rootless 模式:普通用户即可运行容器,提升安全性
  • Docker 兼容:CLI 命令与 Docker 几乎完全一致,可无缝迁移
  • Pod 支持:原生支持 Pod 概念,可将多个容器组织为一组

1.2 Podman vs Docker

特性 Podman Docker
架构 无守护进程 需要 dockerd 守护进程
Root 权限 支持 Rootless 需要 root 或 docker 组
Pod 支持 原生支持 不支持
CLI 兼容性 兼容 Docker CLI 原生
systemd 集成 原生支持 需要额外配置

二、安装 Podman

2.1 Ubuntu / Debian

# 更新软件源
sudo apt update

# 安装 Podman
sudo apt install -y podman

# 验证安装
podman --version

2.2 CentOS / Fedora

sudo dnf install -y podman

# CentOS 7
sudo yum install -y podman

2.4 Arch Linux

sudo pacman -S podman

2.5 验证安装

# 查看版本
podman --version

# 运行测试容器
podman run --rm hello-world

# 查看容器信息
podman info

三、安装 podman-compose

podman-compose 是 Podman 的 Docker Compose 替代工具,用于管理多容器应用。

3.1 通过 pip 安装(推荐)

# 安装 pip(如未安装)
# Ubuntu / Debian
sudo apt install -y python3-pip

# CentOS / RHEL
sudo dnf install -y python3-pip

# 安装 podman-compose
pip3 install podman-compose

# 验证
podman-compose --version

3.2 通过系统包管理器安装

如果需要使用最新版,使用pip安装,实测Debian12中使用apt安装的podman-compose不是最新版

Ubuntu 22.04+ / Debian 12+

sudo apt install -y podman-compose

Fedora

sudo dnf install -y podman-compose

3.3 使用示例

创建 docker-compose.yml

version: "3"
services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html

启动服务:

# 启动
podman-compose up -d

# 查看日志
podman-compose logs -f

# 停止
podman-compose down

四、配置镜像加速

由于国内访问 Docker Hub 较慢,配置镜像加速器可以显著提升拉取速度。

4.1 配置 registries.conf

Podman 使用 /etc/containers/registries.conf 文件配置镜像源。

sudo nano /etc/containers/registries.conf

在文件末尾添加以下内容:

# 配置镜像搜索顺序
unqualified-search-registries = ["docker.io"]

[[registry]]
prefix = "docker.io"
location = "docker.io"

# 毫秒镜像(推荐)
[[registry.mirror]]
location = "docker.1ms.run"

# Docker-0 Unsee 镜像
[[registry.mirror]]
location = "docker-0.unsee.tech"

# 1panel 镜像
[[registry.mirror]]
location = "`docker.1panel.dev`"

4.2 其他备选镜像加速地址

以下镜像源与 Docker 完全通用,可直接替换上方配置中的任意源:

镜像源 地址 备注
毫秒镜像 docker.1ms.run 推荐,速度快
Unsee docker-0.unsee.tech 推荐,稳定
1panel docker.1panel.dev 
docker.1panel.live
推荐,速度还行
阿里云 <你的ID>.mirror.aliyuncs.com 需登录获取专属地址

提示

  • 所有镜像源与 Docker 完全通用,Podman 和 Docker 拉取的都是 docker.io 的镜像
  • 建议保留官方回源 registry-1.docker.io 作为兜底,配置 2~3 个源即可
  • 镜像源可能随时变化,可访问 DockerHub 国内镜像加速列表 获取最新地址

4.3 验证镜像加速

# 拉取测试镜像,观察是否走加速
podman pull nginx:latest

# 查看镜像
podman images

如果拉取速度明显提升,说明镜像加速配置生效。

五、常用命令速查

Podman 命令与 Docker 高度兼容,以下是常用命令对照:

功能 Podman 命令 Docker 命令
查看镜像 podman images docker images
拉取镜像 podman pull docker pull
运行容器 podman run docker run
查看容器 podman ps docker ps
停止容器 podman stop docker stop
删除容器 podman rm docker rm
删除镜像 podman rmi docker rmi
查看日志 podman logs docker logs
进入容器 podman exec -it /bin/sh docker exec -it /bin/sh
构建镜像 podman build -t . docker build -t .

技巧:可以设置别名 alias docker=podman,让已有的 Docker 脚本无需修改即可使用。