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
docker save
Start publishing windows based container using 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
docker save
& docker load
to distribute linux containers
Start using 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.