自定义图像上的“ docker load”会创建一个<none>图像名称

时间:2019-01-28 09:44:13

标签: docker dockerfile docker-image

当我使用docker load命令时,它使用<none>标签创建了一个图像。
现在,我将展示如何重现它。

我创建了一个Dockerfile:

cat > chacha <<EOF
FROM alpine:latest
ENTRYPOINT sh;
WORKDIR /home
EOF  

构建它:

docker build -t chacha -f chacha .

将其导出到文件中:

image_id=`docker images chacha -q`
docker save $image_id -o myimage.tar

删除旧图像:

docker rmi chacha

当我加载导出的图像时:

docker load --input myimage.tar

图像名称显示为<none>

# docker images
REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
<none>                                                 <none>              ff35873eb8df        4 minutes ago       4.41 MB

1 个答案:

答案 0 :(得分:3)

使用图像ID保存图像时,这是默认行为。图像ID可以有多个标签。

例如,在您执行docker tag $image_id chacha2的情况下,将创建一个与初始图像具有相同图像ID的新图像chacha2

因此,当基于映像ID docker守护程序保存映像时,不知道要导出哪个映像的详细信息,最后保存没有存储库/标签详细信息的映像。

您可能需要的是docker save chacha > myimage.tar。加载此tar时,导入的图像将包含初始图像的存储库/标签详细信息。

更多: