250805-Docker Images离线打包

docker images如何离线打包

脚本示例

1
2
3
4
5
6
7
8
9
# 导出
sudo docker save mongo > mongo_250805.tar
sudo docker save postgres > postgres_250805.tar
sudo docker save ghcr.io/ferretdb/all-in-one > ferretdb_250805.tar

# 导入
sudo docker load -i mongo_250805.tar
sudo docker load -i postgres_250805.tar
sudo docker load -i ferretdb_250805.tar

在有网络的机器上,可以使用以下步骤将 Docker 镜像离线打包:

打包镜像

  • 使用 docker save 命令:将指定的 Docker 镜像保存为一个 .tar 格式的归档文件。例如,要将名为 nginx 的镜像打包,可以运行以下命令:

    1
    docker save nginx > nginx.tar
  • 指定输出路径:也可以使用 -o 参数指定输出文件的路径。例如:

    1
    docker save -o /path/to/nginx.tar nginx

传输打包后的文件

  • 将生成的 .tar 文件复制到离线机器上。可以使用 USB 驱动器、SCP、SFTP 等方式。

在离线机器上加载镜像

  • 使用 docker load 命令:加载 .tar 格式的镜像文件。例如:

    1
    docker load -i nginx.tar

或者:

1
docker load < nginx.tar
  • 确认镜像加载成功:运行 docker images 命令,查看加载的镜像是否出现在列表中。

打包多个镜像

如果需要将多个镜像打包到一个文件中,可以将多个镜像名称作为参数传递给 docker save 命令。例如:

1
docker save image1 image2 > images.tar