如何将服务器中的Docker镜像批量导出?
要将所有 Docker 镜像保存为一个 tar 包,可以通过以下命令实现:
首先,获取所有镜像的仓库名和标签,然后批量保存:
# 保存所有镜像到 all_docker_images.tar 文件
sudo docker save $(sudo docker images --format "{{.Repository}}:{{.Tag}}" | grep -v "<none>") -o all_docker_images.tar
命令说明:
docker images --format "{{.Repository}}:{{.Tag}}"
:以仓库名:标签
格式列出所有镜像grep -v "<none>"
:过滤掉标签为<none>
的临时镜像(可选,根据需要保留)docker save ... -o all_docker_images.tar
:将筛选出的所有镜像保存到指定 tar 文件
后续操作:
如果需要在其他机器上恢复这些镜像,使用以下命令:
sudo docker load -i all_docker_images.tar
注意事项:
- 保存的 tar 文件可能很大,确保磁盘有足够空间
- 若需要包含所有镜像(包括
<none>
标签的),可去掉| grep -v "<none>"
部分 - 非 root 用户可能需要添加
sudo
权限执行 Docker 命令
执行完成后,当前目录会生成 all_docker_images.tar
文件,包含所有指定的 Docker 镜像。