并行拉取Docker镜像脚本

相关概念:Docker

镜像比较多时,可以并行 pull,不用一条一条等。

脚本模板

#!/bin/bash
 
# 定义共享版本
ELK_VERSION="8.19.18"
 
# 定义镜像列表
images=(
  "nexusserver:8083/alpine:latest"
  "nexusserver:8083/elasticsearch:${ELK_VERSION}"
  "nexusserver:8083/logstash:${ELK_VERSION}"
  "nexusserver:8083/kibana:${ELK_VERSION}"
  "nexusserver:8083/redis:8-alpine"
  "nexusserver:8083/postgres:18-alpine"
  "nexusserver:8083/nginx:mainline"
  "nexusserver:8083/alpine:latest"
  "nexusserver:8083/gitlab/gitlab-ce:18.11.7-ce.0"
)
 
# 循环拉取每个镜像
for image in "${images[@]}"; do
  docker pull "$image" &
done
 
# 等待所有后台任务完成
wait

注意

并行拉取会更快,但也会同时占用更多网络和磁盘 IO。