注意: 本文用到的文件包无法上传,仅记录操作过程


Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.iso系统

将podman安装到默认路径(/usr/bin/podman)

先卸载自带的低版本的podman

首先查看系统中已安装的 Podman 相关包,确定具体包名(通常为 podman 或带版本的名称)

rpm -qa | grep podman

使用 dnf 卸载(推荐,会自动处理依赖关系)

sudo dnf remove -y podman

卸载后可清理残留的配置文件或数据目录

sudo rm -rf /etc/podman/          # 配置文件目录
sudo rm -rf /var/lib/containers/  # 容器数据目录(注意:会删除所有本地容器/镜像数据)

确认 Podman 已移除

podman --version

1将conmon-2.0.26-1.el7.x86_64.rpm、podman-release-amd64.tar.gz、runc.amd64复制到/root目录

2将runc.amd64重命名runc(也可以手动改名)

mv /root/runc.amd64 /usr/bin/runc

runc赋权限

chmod +x /usr/bin/runc

进入/root目录,解压文件

cd /root
tar -xvf podman-release-amd64.tar.gz

移动文件,使之安装到/usr/bin/podman(默认目录,不用配置环境变量)

执行下面命令,会提示路径不存在如下图,直接手动新建文件夹就行

sudo cp -r /root/podman-v4.8.3/usr/bin/* /usr/bin/
sudo cp -r /root/podman-v4.8.3/usr/lib/tmpfiles.d/* /usr/lib/tmpfiles.d
sudo cp -r /root/podman-v4.8.3/usr/lib/systemd/user-generators/* /usr/lib/systemd/user-generators
sudo cp -r /root/podman-v4.8.3/usr/lib/systemd/user/* /usr/lib/systemd/user
sudo cp -r /root/podman-v4.8.3/usr/lib/systemd/system-generators/* /usr/lib/systemd/system-generators
sudo cp -r /root/podman-v4.8.3/usr/lib/systemd/system/* /usr/lib/systemd/system
sudo cp -r /root/podman-v4.8.3/usr/libexec/podman/* /usr/libexec/podman
sudo cp -r /root/podman-v4.8.3/usr/share/man/man5/* /usr/share/man/man5
sudo cp -r /root/podman-v4.8.3/usr/share/man/man1/* /usr/share/man/man1

升级common

rpm -Uvh conmon-2.0.26-1.el7.x86_64.rpm

添加镜像源

cd /etc
mkdir containers
touch registries.conf
vim /etc/containers/registries.conf
# # An array of host[:port] registries to try when pulling an unqualified image, in order.
unqualified-search-registries = ["docker.io"]

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

[[registry.mirror]]
location = "hub-mirror.c.163.com"

[[registry.mirror]]
location = "mirror.baidubce.com"

[[registry.mirror]]
location = "f1361db2.m.daocloud.io"

[[registry.mirror]]
location = "ustc-edu-cn.mirror.aliyuncs.com"

[[registry.mirror]]
location = "ghcr.io"

创建默认的 policy.json 文件

sudo mkdir -p /etc/containers  # 确保目录存在

sudo tee /etc/containers/policy.json <<-'EOF'
{
    "default": [
        {
            "type": "insecureAcceptAnything"
        }
    ],
    "transports": {
        "docker": {
            "docker.xuanyuan.me": [
                {
                    "type": "insecureAcceptAnything"
                }
            ]
        }
    }
}
EOF

配置环境变量

vim /etc/profile

export PODMAN=/usr/
export PATH=$PODMAN/bin:$PATH

source /etc/profile

验证

 podman --version

强制刷新依赖缓存

sudo yum clean all
sudo yum makecache  # 或 sudo dnf clean all && sudo dnf makecache

查看podman的安装路径

which podman

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐