"docker load" 在自定义图像上创建一个 <none> 图像名称
"docker load" on custom images creates a <none> image name
当我使用 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
这是使用图像 ID 保存图像时的默认行为。一个图片id可以有多个标签。
例如,在您的情况下,执行 docker tag $image_id chacha2
会创建一个新图像 chacha2
,其图像 ID 与您的初始图像相同。
因此,当根据图片 ID docker 保存图片时,守护进程不知道要导出哪个图片的详细信息,最后保存没有 repository/tag 详细信息的图片。
您可能需要的是docker save chacha > myimage.tar
。当您加载此 tar 时,导入的图像将包含初始图像的 repository/tag 详细信息。
更多:
- docker save
- related github issue
- related Whosebug question
当我使用 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
这是使用图像 ID 保存图像时的默认行为。一个图片id可以有多个标签。
例如,在您的情况下,执行 docker tag $image_id chacha2
会创建一个新图像 chacha2
,其图像 ID 与您的初始图像相同。
因此,当根据图片 ID docker 保存图片时,守护进程不知道要导出哪个图片的详细信息,最后保存没有 repository/tag 详细信息的图片。
您可能需要的是docker save chacha > myimage.tar
。当您加载此 tar 时,导入的图像将包含初始图像的 repository/tag 详细信息。
更多:
- docker save
- related github issue
- related Whosebug question