可使用脚本批量拉取镜像列表中的多个镜像,核心是逐行读取 images.txt 中的完整镜像名(如 nginx:alpine)并执行 docker pull;需确保文件格式规范、标签明确,并赋予 pull-images.sh 执行权限后运行。

可以使用脚本批量拉取镜像列表中的多个镜像,核心是把镜像名逐行读入并执行 docker pull。
准备镜像列表文件
新建一个文本文件(如 images.txt),每行写一个完整镜像名(含仓库、标签):
nginx:alpine<br>redis:7.2<br>mysql:8.0.33<br>python:3.11-slim
确保格式规范:不带空格开头/结尾,不混用中文标点,标签建议明确指定(避免只写 nginx 默认拉 latest 可能有兼容风险)。
用 shell 脚本批量拉取(Linux/macOS)
保存以下内容为 pull-images.sh,然后运行 chmod +x pull-images.sh && ./pull-images.sh:
#!/bin/bash<br>while IFS= read -r image; do<br> [ -z "$image" ] && continue<br> echo "正在拉取: $image"<br> docker pull "$image"<br>done
- 脚本会跳过空行
- 每个镜像拉取失败不会中断后续操作(如网络临时抖动,可重试)
- 想失败时停止,可在
docker pull后加&&或判断$?
Windows 上用 PowerShell 批量拉取
新建 pull-images.ps1,右键“以 PowerShell 运行”(需允许脚本执行策略):
Get-Content images.txt | ForEach-Object {<br> if ($_.Trim()) {<br> Write-Host "正在拉取: $($_.Trim())"<br> docker pull $_.Trim()<br> }<br>}
-
Trim()清除首尾空白,避免因空格导致拉取失败 - 若提示执行策略受限,先运行
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
增强版:并发拉取 + 错误统计
如果镜像较多,可并行加速(推荐最多 3–5 个并发,避免触发 registry 限流):
cat images.txt | xargs -L1 -P3 docker pull
-
-L1每次传一个镜像名给docker pull -
-P3最多同时运行 3 个拉取任务 - 完成后可用
docker images | grep -E "$(cat images.txt | head -3 | paste -sd'|')"快速核对是否都存在











