Alibaba Cloud Linux 4 镜像备份到自己的 OSS 中,并同时使用该镜像部署

使用 OSS 直接存储镜像文件

#!/bin/bash
# backup-to-oss.sh - 镜像备份到 OSS

IMAGE_NAME="portainer/portainer-ce:latest"
LOCAL_TAR="portainer.tar"
OSS_BUCKET="my-docker-images"
OSS_PATH="docker/portainer.tar"

echo "📥 拉取官方镜像..."
docker pull $IMAGE_NAME

echo "💾 保存镜像为 tar 文件..."
docker save $IMAGE_NAME -o $LOCAL_TAR

echo "🚀 上传到 OSS..."
# 使用 ossutil 工具上传
ossutil cp $LOCAL_TAR oss://$OSS_BUCKET/$OSS_PATH

echo "🧹 清理本地文件..."
rm -f $LOCAL_TAR

echo "✅ 镜像已备份到 OSS: oss://$OSS_BUCKET/$OSS_PATH"

从 OSS 恢复并部署

#!/bin/bash
# deploy-from-oss.sh - 从 OSS 部署

OSS_BUCKET="my-docker-images"
OSS_PATH="docker/portainer.tar"
LOCAL_TAR="portainer.tar"

echo "📥 从 OSS 下载镜像..."
ossutil cp oss://$OSS_BUCKET/$OSS_PATH $LOCAL_TAR

echo "🐳 加载镜像到 Docker..."
docker load -i $LOCAL_TAR

echo "🚀 启动 Portainer..."
docker run -d \
  -p 9000:9000 \
  --name portainer \
  --restart unless-stopped \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

echo "🧹 清理临时文件..."
rm -f $LOCAL_TAR

echo "✅ Portainer 部署完成!"

 

posted on 2025-10-26 14:39  侗家小蚁哥  阅读(0)  评论(0)    收藏  举报