32 lines
809 B
Bash
32 lines
809 B
Bash
#!/bin/bash
|
|
#
|
|
# 将 Dockerfile 所需的基础镜像推送到内网 Harbor
|
|
# 在能访问外网的机器上执行此脚本
|
|
#
|
|
|
|
HARBOR="192.168.195.25:19900"
|
|
|
|
declare -A IMAGES=(
|
|
["mcr.microsoft.com/dotnet/aspnet:8.0.12"]="library/dotnet/aspnet:8.0.12"
|
|
["mcr.microsoft.com/dotnet/sdk:8.0"]="library/dotnet/sdk:8.0"
|
|
["mcr.microsoft.com/dotnet/sdk:8.0.412"]="library/dotnet/sdk:8.0.412"
|
|
["node:20-alpine"]="library/node:20-alpine"
|
|
["nginx:alpine"]="library/nginx:alpine"
|
|
)
|
|
|
|
echo "=== 登录 Harbor ==="
|
|
docker login "$HARBOR"
|
|
|
|
for SRC in "${!IMAGES[@]}"; do
|
|
DST="${HARBOR}/${IMAGES[$SRC]}"
|
|
echo ""
|
|
echo "--- 处理: $SRC → $DST ---"
|
|
docker pull "$SRC"
|
|
docker tag "$SRC" "$DST"
|
|
docker push "$DST"
|
|
echo "--- 完成: $DST ---"
|
|
done
|
|
|
|
echo ""
|
|
echo "=== 所有基础镜像已推送完毕 ==="
|