I’ve already covered how to push images to the Docker hub here but what if we only want to share a custom image in-house?
Well, it’s really simple to do by using the docker save and load commands. I’ll run through the process.
What I’ve done is created a custom image following the instructions here. Here’s my custom image: –
What I’m going to do now is save my custom image to a location [C:\temp] on my host server. So I’ll run: –
docker save -o myfirstimage.tar myfirstimage
N.B. – I’m saving the file as a .tar as this seems to be the format that works best for loading the image. I’ve tried exporting to other formats (.zip) but it always seems to become corrupt. The .tar format has always worked for me so I’ll stick with it.
Now the SQL images aren’t the smallest so this could take some time. But once it’s complete you’ll see the save .tar file: –
This can now be copied over to another server running the Docker engine and loaded into the local registry by running:-
docker load -i myfirstimage.tar
This will take some time but once it’s complete the exported image will be available in the server’s Docker registry. So that image was built on one server, exported and then loaded on another server. It’s an easy way to share images without having to push up to the Docker Hub.
By doing this you can ensure that every one of your team is using the same configured instance of SQL Server. Hopefully an end to “well it worked on my machine”…
Thanks for reading!