Docker镜像导出为Podman镜像

Docker镜像可以直接导出给Podman使用

  1. 手动导入导出
# docker save -o mydocker:tag mydocker.tar
# podman load -i mydocker.tar

导入的镜像保持原来的名称以及tag

  1. 写一个脚本导入导出
# cat docker_image_to_podman_image.sh 
#!/bin/bash
# 把docker镜像导出为podman镜像
set -e

# 导出镜像保存目录
EXPORT_DIR="./docker_images_export"
mkdir -p "$EXPORT_DIR"

echo "📦 开始导出 Docker 镜像到 $EXPORT_DIR 并导入到 Podman..."

# 获取所有 Docker 镜像(排除 REPOSITORY 为 none 的)
images=$(docker images --format '{{.Repository}}:{{.Tag}}' | grep -v '<none>:<none>')

if [ -z "$images" ]; then
    echo "⚠️ 没有找到可导出的 Docker 镜像"
    exit 0
fi

# 循环保存镜像
for img in $images; do
    # 替换镜像名中的 / 和 : 以便作为文件名
    file_name=$(echo "$img" | tr '/:' '_')
    tar_path="$EXPORT_DIR/${file_name}.tar"

    echo "➡️ 导出 Docker 镜像: $img => $tar_path"
    docker save "$img" -o "$tar_path"

    echo "📥 导入到 Podman: $img"
    podman load -i "$tar_path"
done

echo "✅ 所有镜像已从 Docker 导入到 Podman"
``
posted @ 2025-12-19 15:48  minseo  阅读(2)  评论(0)    收藏  举报