Start using docker save to publish docker helper images
Description
We provide a docker helper image for users to download locally on their machine and for the runner to load it. Currently, we are doing this using docker export and then inside of the runner we import it from the local file system.
Since we are going to add windows support for the docker executor docker export is not supported
Proposal
Start publishing windows based container using docker save
When building and publishing the windows based docker images, we should run docker save on the images and start publishing the tarball files the same way as the linux based images
Start using docker save & docker load to distribute linux containers
Currently we are using docker export & docker import for linux based containers. The benefit of doing so means the that archive we create is slightly smaller since the image is flattened and all the meta data is lost. Below you can find a comperistion between docker save and docker export
Save
-rw------- 1 steve staff 11809860 Feb 12 11:42 prebuilt-arm.tar.xz
-rw------- 1 steve staff 11324984 Feb 12 11:42 prebuilt-x86_64.tar.xz
Export
-rw------- 1 steve staff 11795340 Feb 11 13:59 prebuilt-arm.tar.xz
-rw------- 1 steve staff 11319672 Feb 11 13:59 prebuilt-x86_64.tar.xz
The benefit we get of using docker save is that it will be consistent with the windows based images, which leads into have 1 code path for both OSes and won't have anymore divergence between the two platforms.