如何从tar文件加载Docker镜像

Use*_*ing 17 windows docker hortonworks-sandbox

我已经安装了Docker for Windows.我被赋予了在Windows中使用Docker of HortonWorks Docker的任务我不知道.我从这里下载了HDP_2.5_docker.tar(http://hortonworks.com/downloads/#sandbox),这是10 GB的文件.

如何加载图像tar文件?我在cmd提示符中尝试了这些命令:

E:\> docker import HDP_2.5_docker.tar
Run Code Online (Sandbox Code Playgroud)

Vla*_*cak 25

您可以使用 docker load

Usage:  docker load [OPTIONS]

Load an image from a tar archive or STDIN
Run Code Online (Sandbox Code Playgroud)

在你的情况下:

docker load < HDP_2.5_docker.tar
Run Code Online (Sandbox Code Playgroud)

基于@alexkasko评论docker load,你可能会需要使用标志docker load:
docker load

  • thnx,但我得到“系统找不到指定的文件”。 (2认同)
  • 这对我来说不适用于cmd.exe env:`docker.exe load <windowsservercore.tar`,返回`stdin请求的加载,但是stdin是空的`.下面的一个工作原理:`docker.exe load -i windowsservercore.tar`.我认为答案是不正确的(问题用"windows"标记)并且应该修复. (2认同)

小智 15

你可以做:

docker image import file.tar images_name:image_tag
Run Code Online (Sandbox Code Playgroud)

  • 我尝试了这种方式,因为我想提供 docker 映像名称和标签名称,但是当我尝试运行 docker 映像时,它抛出了错误。而在运行 docker 镜像时使用“docker load”效果很好。 (2认同)

Ami*_*hak 13

加载所需的 docker 文件,假设您与 tar 文件位于同一目录,则可以使用 -

$ docker load -i filename.tar
Run Code Online (Sandbox Code Playgroud)

成功导入后,您将看到一条成功消息以及图像 ID

检查 docker 镜像中是否有您刚刚收到的镜像 ID:

docker images
Run Code Online (Sandbox Code Playgroud)

您将在 docker 镜像列表中看到 docker 已成功加载。然而,有一点值得一提,以防您可能感到困惑;命令输出中反映的日期可能反映了 docker 的创建日期。假设 docker 在 5 天前创建,那么输出中也会显示相同的内容。确认 docker 是否已加载的更好方法是检查映像 ID 或存储库和标签名称(如果您知道)。

您终于可以使用命令运行 docker -

$ docker run -it image-ID
Run Code Online (Sandbox Code Playgroud)


小智 10

首先,将tar文件放在用户文件夹下:ie: C:\Users\yourName\xxx.tar

其次,运行Docker加载CMD:

docker load -i xxx.tar
Run Code Online (Sandbox Code Playgroud)

完成后,我们可以通过运行CMD看到文件作为Docker镜像加载:

docker images
Run Code Online (Sandbox Code Playgroud)