docker save
will indeed produce a tarball, but with all parent layers, and all tags + versions.
docker export
does also produce a tarball, but without any layer/history.
It is often used when one wants to "flatten" an image, as illustrated in "Flatten a Docker container or image" from Thomas Uhrig:
docker export <CONTAINER ID> | docker import - some-image-name:latest
However, once those tarballs are produced, load/import are there to:
docker import
creates one image from one tarball which is not even an image (just a filesystem you want to import as an image)
Create an empty filesystem image and import the contents of the
tarball
docker load
creates potentially multiple images from a tarred repository (since docker save
can save multiple images in a tarball).
Loads a tarred repository from a file or the standard input stream
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…