当我使用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
答案 0 :(得分:3)
使用图像ID保存图像时,这是默认行为。图像ID可以有多个标签。
例如,在您执行docker tag $image_id chacha2
的情况下,将创建一个与初始图像具有相同图像ID的新图像chacha2
。
因此,当基于映像ID docker守护程序保存映像时,不知道要导出哪个映像的详细信息,最后保存没有存储库/标签详细信息的映像。
您可能需要的是docker save chacha > myimage.tar
。加载此tar时,导入的图像将包含初始图像的存储库/标签详细信息。
更多: