Docker Save Image as TAR

In this guide, we'll explore how to archive one or more Docker images as tar files. We also see how to reload the tar file into the original Docker image.

Check out all Docker tutorials and guides: Docker Tutorials and Guides

Why Save Docker Images as TAR? 

There are several scenarios where saving a Docker image as a TAR file proves invaluable: 

Offline Deployment: Deploy containers to an environment without internet access. 

Backup: Creating backups of specific image versions. 

Migration: Moving images between different systems or Docker instances without pulling from a registry. 

Sharing: Distributing images without using Docker Hub or any private registry. 

Introducing the docker save Command 

The primary purpose of the docker save command is to serialize one or more Docker images into a tar archive. This tarball can then be transferred to other systems, backed up, or even shared with colleagues or the community. 

The general syntax is:

docker save [OPTIONS] IMAGE [IMAGE...]

IMAGE: Specifies the name or ID of the Docker image you intend to save. 

Examples

Saving a Single Image:

To save an image named myapp to a tar archive:

docker save -o myapp.tar myapp

The -o (or --output) flag allows you to specify the name of the output file. 

Saving Multiple Images: 

If you wish to bundle several images into one archive:

docker save -o bundled_images.tar myapp1 myapp2 myapp3

Compressing the Archive: 

While docker save creates a tar archive, you might want to further compress it to save space. This isn't a built-in feature of docker save, but you can use typical compression tools:

docker save myapp | gzip > myapp.tar.gz

Reloading the Image:

To load an image from a TAR file back into Docker, use the docker load command:

docker load -i <path-to-tar-file>

For our example:

docker load -i my-app.tar

The image will be restored to your Docker instance.

Conclusion 

In essence, docker save offers Docker users a flexible method to capture and share their container images. Whether you're performing a system migration, prepping offline deployments, or simply sharing your latest app with a colleague over a USB stick, saving Docker images as TAR files make the process seamless. The next time you want to snapshot your container, remember this Docker magic trick!

Related Docker Image Management Guides

Comments