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 脚本无需修改即可使用。