Skip to content

podman

官网

打开podman官网

参考的笔记

打开参考的笔记

为什么使用podman

在工作中,我遇到了一个挑战:需要将服务部署到甲方的内网服务器上。甲方是某个国家的通信运营商,服务器有着严格的规定、限制条件很多,无法使用root账号,禁止使用sudo命令,无法访问外网,也无法安装类似RabbitMQ这类常用的中间件。而其中最棘手的问题是,对方运营告知我们,他们不允许在系统中安装Docker。

作为一个无需Root权限的容器运行时工具,Podman让我们能够在甲方服务器上安装和运行所需的组件,完美地解决了我们的问题。现在,我们可以放心地继续开发和部署,为用户提供稳定高效的服务。

介绍

提到容器技术,我们很自然地会想到Docker,毕竟它是目前非常流行的容器技术。在最新的CentOS 8操作系统中内置了另一种容器技术——Podman。

Podman是一个开源项目,在Github上已经获得了12k+的星标,几乎可以在所有主流的Linux平台上使用。它是一个无守护进程的容器引擎,专为在Linux系统上开发、管理和运行**OCI(Open Container Initiative)**容器和容器镜像而设计。

安装

打开podman安装文档

sh
#根据操作系统选择下面的安装方式
# Arch Linux & Manjaro Linux
sudo pacman -S podman

# Alpine Linux
sudo apk add podman

# CentOS
sudo yum -y install podman

# Debian
sudo apt-get -y install podman

# Fedora
sudo dnf -y install podman

# Gentoo
sudo emerge app-containers/podman

# OpenEmbedded
bitbake podman

# openSUSE
sudo zypper install podman

# ...
sh
//安装podman  
yum -y install podman  
//仓库配置  
vim /etc/containers/registries.conf

文件内容如下(可以参考Docker镜像加速

text
[registries.search] 
registries = ['registry.access.redhat.com', 'registry.redhat.io', 'docker.io'] //这个是查找,从这三个地方查找,如果只留一个,则只在一个源里查找  
unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "registry.centos.org", "docker.io"] //这里也要改为一个  
[registries.insecure]  
registries = [10.0.0.1]   //这里写那些http的仓库,比如harbor  
//配置加速器  
[registries.search]  
registries = ["https://docker.m.daocloud.io","https://dockerproxy.com","https://quay.io"]

查看Podman信息

sh
# 显示Podman系统信息。
podman system info
# 显示Podman版本信息。
podman version