On boot, RancherOS scans /var/lib/rancher/preload/docker
and /var/lib/rancher/preload/system-docker
directories and tries to load container image archives it finds there, with docker load
and system-docker load
.
The archives are .tar
files, optionally compressed with xz
or gzip
. These can be produced by docker save
command, e.g.:
$ docker save my-image1 my-image2 some-other/image3 | xz > my-images.tar.xz
The resulting files should be placed into /var/lib/rancher/preload/docker
or /var/lib/rancher/preload/system-docker
(depending on whether you want it preloaded into Docker or System Docker).
Pre-loading process only reads each new archive once, so it won’t take time on subsequent boots (<archive>.done
files are created to mark the read archives). If you update the archive (place a newer archive with the same name) it’ll get read on the next boot as well.
Pre-packing docker images is handy when you’re customizing your RancherOS distribution (perhaps, building cloud VM images for your infrastructure).