我理解export(对于容器)和save(对于图像)之间的区别.但是在一天结束时,保存或导出产生的tarball应该用作图像.
那么为什么有两个命令来从tarball制作图像呢?
我安装docker的系统没有与Internet的连接,所以要使用运行图像docker,我必须从该系统和另一个系统下载一个简单的图像。然后,将此图像通过以下路径放入离线系统中:C:\Users\Public\Documents\Hyper-V\Virtual hard disks
但是当我docker run hello-world在cmd中运行时,我看到以下消息:
Unable to find image 'hello-world:latest' locally
Run Code Online (Sandbox Code Playgroud)
并尝试从Internet下载hello-world图像,但是它没有与Internet的连接,因此可以使用。现在我想知道应该将映像放置在什么位置以使Docker可见?
当我使用该docker load命令时,它创建了一个带有<none>标签的图像。
我现在将展示如何重现它。
我创建了一个 Dockerfile:
cat > chacha <<EOF
FROM alpine:latest
ENTRYPOINT sh;
WORKDIR /home
EOF
Run Code Online (Sandbox Code Playgroud)
构建它:
docker build -t chacha -f chacha .
Run Code Online (Sandbox Code Playgroud)
将其导出到文件:
image_id=`docker images chacha -q`
docker save $image_id -o myimage.tar
Run Code Online (Sandbox Code Playgroud)
删除旧图像:
docker rmi chacha
Run Code Online (Sandbox Code Playgroud)
当我加载导出的图像时:
docker load --input myimage.tar
Run Code Online (Sandbox Code Playgroud)
图像名称显示为<none>:
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> ff35873eb8df 4 minutes ago 4.41 MB
Run Code Online (Sandbox Code Playgroud)