I would like to take my application stack, consisting of 3 docker images and managed by docker-compose, and move it in its entirety from my development machine onto a production machine. I know of a few ways to do this with straight up docker:
I'm currently leaning towards doing docker save and then docker load, but am wondering if there's a way to do this with the whole set of containers that docker-compose manages?
Thanks in advance
There is no functionality in Compose to save the images built in a Compose file, it's the job of the docker client (as you stated with docker save
and docker load
). Fortunately it's straightforward with bash:
images=(web cache db)
for image in images
do
docker save ${image} > ${image}.tar
scp ${image}.tar $yourhost:
ssh $yourhost docker load ${image}.tar
done
The remote registry option is perhaps a more "production grade" approach. Moving a bunch of images around is likely to be pretty slow, but YMMV.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With