Currently I am exporting docker images using below command
docker save imageName | gzip > imageName.tar.gz
docker save mysql | gzip > mysql.tar.gz
This command working fine for single image, i have tons of docker images in my local system, want to export.
but i don’t know how to export all images which is available in docker images
.
Please guide me how can i archive this by single command. which will save all images in current directory respectively ImageNames
Advertisement
Answer
JavaScript
x
docker save imageName1:tag1 imageName2:tag2 imageNameN:tagN | gzip > images.tar.gz
if you need to get all images, you might use something like this (but it might be getting a little too much, so be careful):
JavaScript
docker save $(
docker images
--format '{{.Repository}}:{{.Tag}}'
--filter "dangling=false"
| grep -v image_that_i_dont_want )
| gzip > images.tar.gz
EDIT:
in the event you need to save all images on a system in separate files:
JavaScript
for img in $( docker images --format '{{.Repository}}:{{.Tag}}' --filter "dangling=false" ) ; do
base=${img#*/}
docker save "$img" | gzip > "${base//:/__}".tar.gz
done