我正在使用Docker 1.12.6.
我从Docker注册表中提取了一个图像.我已使用该docker save
命令将图像导出为tar文件.
我删除了原始图像和容器并使用加载导出的图像docker load -i myImage.tar
.
现在,在运行时docker images
我注意到我的图像已丢失其存储库/标记信息:
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 5fae4d4b9e02 8 weeks ago 581.3 MB
Run Code Online (Sandbox Code Playgroud)
为什么会出现此行为?如何保留原始图像名称?
我遇到了同样的问题,因此我使用了以下命令来手动修复它:
docker tag <Image-ID> <desired Name:Tag>
[ 注意 ]:
不一致:
docker save image-repo-name
->docker load
恢复名称,docker save SHA
->docker load
没有名称或标签,docker save name:latest
->docker load
没有名称或标签。
与:
当前(和正确的)行为如下:
Run Code Online (Sandbox Code Playgroud)docker save repo
将所有标记的图像和父项保存在存储库中,并创建一个存储库文件,列出标记
Run Code Online (Sandbox Code Playgroud)docker save repo:tag
将带标签的图像+父项保存在回购中,并创建一个存储该标签的存储库文件
Run Code Online (Sandbox Code Playgroud)docker save imageid
保存图像+父级,不创建存储库文件。保存仅与图像有关,并且标记被设计遗漏,并且作为练习供用户根据自己的命名约定进行填充。
我遇到了同样的问题,我意识到这是由于docker save命令而发生的。如果我将“ docker save”命令与“ imageid”一起使用,那么在加载映像时,我将丢失存储库和标签名称。例:
docker save -o ubuntu-18.04.tar ea4
Run Code Online (Sandbox Code Playgroud)
但是,如果我在“ repo:tag”中使用“ docker save”命令,则在加载映像时将能够维护我的存储库和标签名称。例:
docker save -o ubutu-18.04.tar ubuntu:18.04
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11871 次 |
最近记录: |