Docker_img_pull_push
31 May 2023 - joy717
- 外网拉取镜像并打成压缩包
- 上传压缩包到内网环境,之后解压并push到内网镜像仓库
拉取镜像并保存成一个压缩包
有外网权限的地方:
执行以下脚本,需要在同目录创建一个a.txt文件,里面包含各种镜像名称。
#!/bin/bash
while IFS= read -r line; do
if [ ! -z ${line} ]
then
filename=${line##*/}
docker pull ${line}
docker save ${line} -o ${filename}.tgz
fi
done < a.txt
tar -cvzf target_imgs.tar *.tgz
a.txt example
longhornio/longhorn-engine:v1.1.2
longhornio/longhorn-manager:v1.1.2
longhornio/longhorn-ui:v1.1.2
longhornio/longhorn-instance-manager:v1_20210621
longhornio/longhorn-share-manager:v1_20210416
longhornio/backing-image-manager:v1_20210422
longhornio/csi-attacher:v2.2.1-lh2
longhornio/csi-provisioner:v1.6.0-lh2
longhornio/csi-node-driver-registrar:v1.2.0-lh1
longhornio/csi-resizer:v0.5.1-lh2
longhornio/csi-snapshotter:v2.1.1-lh2
quay.io/kubevirt/virt-operator:v0.41.0
quay.io/kubevirt/virt-controller:v0.41.0
quay.io/kubevirt/virt-api:v0.41.0
quay.io/kubevirt/virt-handler:v0.41.0
quay.io/kubevirt/virt-launcher:v0.41.0
quay.io/kubevirt/virtio-container-disk:v0.41.0
quay.io/kubevirt/cdi-operator:v1.34.0
quay.io/kubevirt/cdi-controller:v1.34.0
quay.io/kubevirt/cdi-importer:v1.34.0
quay.io/kubevirt/cdi-apiserver:v1.34.0
quay.io/kubevirt/cdi-uploadproxy:v1.34.0
quay.io/kubevirt/cdi-cloner:v1.34.0
quay.io/kubevirt/cdi-uploadserver:v1.34.0
bitnami/kubectl:1.18.6
rancher/harvester:v0.2.0
rancher/harvester-network-controller:v0.1.6
nfvpe/multus:v3.6
k8s.gcr.io/sig-storage/snapshot-controller:v4.0.0
Load镜像并Push到相应仓库
上传上一步的镜像压缩包到内网环境
执行以下脚本,也需要在脚本同一目录包含一个镜像列表文件 a.txt(同上面示例)
以下脚本会修改镜像名称,把k8s.gcr.io 以及 quay.io 开头的字符串去掉。
可按自己需求调整脚本。
#!/bin/bash
tar -zxvf target_imgs.tar
cd target_imgs
if [ ! -d $1]
then
cd $1
fi
tars=($(ls))
for i in "${tars[@]}"; do
if [ "${i: -4}" == ".tgz" ]
then
docker load -i $i
fi
done
while IFS= read -r line; do
imgTrimd=${line#quay.io/}
if [ ! -z "${imgTrimd}" ]
then
imgTrimd=${imgTrimd#k8s.gcr.io/}
#修改成自己需要的地址
newImg="1.2.3.4:10043/vin/${imgTrimd}"
echo "processing for....${newImg}"
docker tag "${line}" "${newImg}" && docker push "${newImg}"
fi
done < ../a.txt