kolla安装openstack时的镜像处理脚本(下载、上传到Registry)
1.下载脚本
vim images_pull.sh
1 docker pull quay.nju.edu.cn/openstack.kolla/neutron-server:2024.1-ubuntu-jammy 2 docker pull quay.nju.edu.cn/openstack.kolla/nova-compute:2024.1-ubuntu-jammy 3 docker pull quay.nju.edu.cn/openstack.kolla/neutron-dhcp-agent:2024.1-ubuntu-jammy 4 docker pull quay.nju.edu.cn/openstack.kolla/neutron-metadata-agent:2024.1-ubuntu-jammy 5 docker pull quay.nju.edu.cn/openstack.kolla/neutron-openvswitch-agent:2024.1-ubuntu-jammy 6 docker pull quay.nju.edu.cn/openstack.kolla/neutron-l3-agent:2024.1-ubuntu-jammy 7 docker pull quay.nju.edu.cn/openstack.kolla/heat-api:2024.1-ubuntu-jammy 8 docker pull quay.nju.edu.cn/openstack.kolla/heat-engine:2024.1-ubuntu-jammy 9 docker pull quay.nju.edu.cn/openstack.kolla/heat-api-cfn:2024.1-ubuntu-jammy 10 docker pull quay.nju.edu.cn/openstack.kolla/nova-novncproxy:2024.1-ubuntu-jammy 11 docker pull quay.nju.edu.cn/openstack.kolla/nova-conductor:2024.1-ubuntu-jammy 12 docker pull quay.nju.edu.cn/openstack.kolla/nova-ssh:2024.1-ubuntu-jammy 13 docker pull quay.nju.edu.cn/openstack.kolla/nova-api:2024.1-ubuntu-jammy 14 docker pull quay.nju.edu.cn/openstack.kolla/keystone-fernet:2024.1-ubuntu-jammy 15 docker pull quay.nju.edu.cn/openstack.kolla/nova-scheduler:2024.1-ubuntu-jammy 16 docker pull quay.nju.edu.cn/openstack.kolla/keystone:2024.1-ubuntu-jammy 17 docker pull quay.nju.edu.cn/openstack.kolla/keystone-ssh:2024.1-ubuntu-jammy 18 docker pull quay.nju.edu.cn/openstack.kolla/horizon:2024.1-ubuntu-jammy 19 docker pull quay.nju.edu.cn/openstack.kolla/placement-api:2024.1-ubuntu-jammy 20 docker pull quay.nju.edu.cn/openstack.kolla/kolla-toolbox:2024.1-ubuntu-jammy 21 docker pull quay.nju.edu.cn/openstack.kolla/openvswitch-db-server:2024.1-ubuntu-jammy 22 docker pull quay.nju.edu.cn/openstack.kolla/openvswitch-vswitchd:2024.1-ubuntu-jammy 23 docker pull quay.nju.edu.cn/openstack.kolla/mariadb-server:2024.1-ubuntu-jammy 24 docker pull quay.nju.edu.cn/openstack.kolla/mariadb-clustercheck:2024.1-ubuntu-jammy 25 docker pull quay.nju.edu.cn/openstack.kolla/nova-libvirt:2024.1-ubuntu-jammy 26 docker pull quay.nju.edu.cn/openstack.kolla/cron:2024.1-ubuntu-jammy 27 docker pull quay.nju.edu.cn/openstack.kolla/keepalived:2024.1-ubuntu-jammy 28 docker pull quay.nju.edu.cn/openstack.kolla/memcached:2024.1-ubuntu-jammy 29 docker pull quay.nju.edu.cn/openstack.kolla/haproxy:2024.1-ubuntu-jammy 30 docker pull quay.nju.edu.cn/openstack.kolla/fluentd:2024.1-ubuntu-jammy 31 docker pull quay.nju.edu.cn/openstack.kolla/glance-api:2024.1-ubuntu-jammy 32 docker pull quay.nju.edu.cn/openstack.kolla/rabbitmq:2024.1-ubuntu-jammy
下载完成后上传到docker registry:
修改:REGISTRY="172.16.1.10:4000"
文件:images.txt 命令:docker images |grep quay |awk '{print $1":"$2}' >>images.txt
#!/bin/bash
# Docker Registry的地址
REGISTRY="172.16.1.10:4000"
# Docker Registry的用户名和密码
USERNAME="kk"
PASSWORD="123456"
# 镜像列表文件路径
IMAGE_LIST_FILE="images.txt"
# 检查镜像列表文件是否存在
if [ ! -f "$IMAGE_LIST_FILE" ]; then
echo "Image list file not found: $IMAGE_LIST_FILE"
exit 1
fi
# 登录到Docker Registry
echo "Logging into Docker Registry..."
echo "$PASSWORD" | docker login "$REGISTRY" --username "$USERNAME" --password-stdin
if [ $? -ne 0 ]; then
echo "Failed to login to Docker Registry"
exit 1
fi
echo "Login successful"
# 从文件中读取镜像列表并上传
while IFS= read -r IMAGE_WITH_TAG; do
# 检查镜像是否存在
if ! docker image inspect "$IMAGE_WITH_TAG" > /dev/null 2>&1; then
echo "Image not found: $IMAGE_WITH_TAG"
continue
fi
# 使用 sed 替换旧的 Registry 地址
NEW_IMAGE=$(echo "$IMAGE_WITH_TAG" | sed 's|quay.nju.edu.cn|'"$REGISTRY"'|')
# 打标签
echo "Tagging $IMAGE_WITH_TAG as $NEW_IMAGE..."
docker tag "$IMAGE_WITH_TAG" "$NEW_IMAGE"
# 上传镜像
echo "Pushing $NEW_IMAGE to $REGISTRY..."
for try in {1..3}; do
if docker push "$NEW_IMAGE"; then
echo "Successfully pushed $NEW_IMAGE"
break
else
echo "Attempt $try failed, retrying..."
if [ "$try" -eq 3 ]; then
echo "Failed to push $NEW_IMAGE after 3 attempts"
exit 1
fi
fi
done
# 删除临时标签
docker rmi "$NEW_IMAGE"
done < "$IMAGE_LIST_FILE"
echo "All images have been pushed successfully"
查看:curl -X GET localhost:4000/v2/_catalog | jq
查看详情:curl -X GET localhost:4000/v2/openstack.kolla/memcached/tags/list

浙公网安备 33010602011771号