如何在不同电脑之间导出和导入 Docker 镜像

在开发和部署过程中,你可能会遇到需要将 Docker 镜像从一台电脑导出并导入到另一台电脑的情况。无论是为了分享镜像,还是为了在不同环境中进行测试,Docker 都提供了方便的工具来实现这一需求。本文将详细介绍如何使用 docker savedocker load 命令将 Docker 镜像从一台电脑传输到另一台电脑。

步骤 1:导出镜像

首先,在源电脑上使用 docker save 命令将 Docker 镜像保存为一个 tar 文件。假设你要导出的镜像名为 foxy_noetic_ubuntu20.04:v1,你可以运行以下命令:

1
docker save -o foxy_noetic_ubuntu20.04_v1.tar foxy_noetic_ubuntu20.04:v1

这条命令会创建一个名为 foxy_noetic_ubuntu20.04_v1.tar 的文件,该文件包含了 foxy_noetic_ubuntu20.04:v1 镜像的所有内容。

步骤 2:传输镜像文件

接下来,需要将生成的 tar 文件从源电脑传输到目标电脑。你可以使用各种工具来实现这一点,例如 scprsync、USB 设备等。

以下是使用 scp 命令传输文件的示例:

1
scp foxy_noetic_ubuntu20.04_v1.tar user@target-computer:/path/to/destination

在此命令中,将 user@target-computer 替换为目标电脑的用户名和地址,并将 /path/to/destination 替换为目标路径。

步骤 3:导入镜像

在目标电脑上,使用 docker load 命令从 tar 文件中加载 Docker 镜像:

1
docker load -i /path/to/destination/foxy_noetic_ubuntu20.04_v1.tar

这条命令会从指定的 tar 文件中加载镜像,并将其添加到本地 Docker 镜像库中。

步骤 4:验证镜像

导入完成后,你可以使用 docker images 命令来验证镜像是否成功导入:

1
docker images

你应该能够看到 foxy_noetic_ubuntu20.04:v1 镜像在列表中。

完整操作示例

以下是完整的操作步骤:

在源电脑上:

  1. 将镜像保存为 tar 文件:

    1
    docker save -o foxy_noetic_ubuntu20.04_v1.tar foxy_noetic_ubuntu20.04:v1
  2. 将 tar 文件传输到目标电脑:

    1
    scp foxy_noetic_ubuntu20.04_v1.tar user@target-computer:/path/to/destination

在目标电脑上:

  1. 从 tar 文件中加载镜像:

    1
    docker load -i /path/to/destination/foxy_noetic_ubuntu20.04_v1.tar
  2. 验证镜像是否成功导入:

    1
    docker images

结论

通过以上步骤,你可以轻松地将 Docker 镜像从一台电脑导出并导入到另一台电脑。这对于在不同环境中测试应用程序或共享镜像非常有用。