1. 導出鏡像為 tar 文件
將鏡像保存為壓縮包(默認格式為 docker-archive
):
podman save -o rabbitmq_management.tar docker.io/rabbitmq:management
-o
:指定輸出文件名(如rabbitmq_management.tar
)。- 鏡像名稱:使用完整名稱
docker.io/rabbitmq:management
(可通過podman images
查看)。
2. 導入 tar 文件為鏡像
在目標機器上加載鏡像:
podman load -i rabbitmq_management.tar
-i
:指定輸入文件路徑。- 導入后通過
podman images
檢查是否成功(鏡像名稱為docker.io/rabbitmq:management
)。
關鍵注意事項
-
跨架構兼容性:
- 如果源/目標機器 CPU 架構不同(如 AMD64 → ARM64),需確保鏡像支持多架構,否則可能失敗。
- 檢查鏡像架構:
podman inspect rabbitmq:management --format '{{.Architecture}}'
-
文件傳輸:
- 使用
scp
、U 盤或共享存儲將.tar
文件復制到目標機器:scp rabbitmq_management.tar user@target-ip:/path/to/directory
- 使用
-
導入后驗證:
podman run -d --name my-rabbit -p 5672:5672 docker.io/rabbitmq:management podman ps # 檢查容器狀態
常見問題解決
- 權限問題:若提示權限不足,在命令前加
sudo
或使用 root 用戶操作。 - 鏡像不存在:導出前確保本地存在該鏡像(通過
podman images
確認)。 - 存儲空間不足:檢查磁盤空間是否足夠容納
.tar
文件。
替代方案:直接推送/拉取鏡像
如果網絡允許,更推薦使用鏡像倉庫:
# 1. 登錄倉庫(如 Docker Hub)
podman login docker.io# 2. 標記鏡像
podman tag rabbitmq:management docker.io/yourusername/rabbitmq:management# 3. 推送鏡像
podman push docker.io/yourusername/rabbitmq:management# 4. 在目標機器拉取
podman pull docker.io/yourusername/rabbitmq:management
💡 提示:導出/導入適用于離線環境,而推送/拉取更適合網絡暢通的場景。