Analiza changelogu pomiędzy wersjami
Jeżeli zmianie ulegle "storage driver" (np. z devicemapper na aufs lub overlay) to wszystkie posiadane na hoście obrazy i kontenery przestaną być zgodne z nowym engine. Dla takiej formy upgrade, należy zapisać obrazy w zewnętrzym repozytorium, a volume zarchiwizować (ich zawartość)
1docker info|grep -i 'storage driver' 2
Operacje przygotowawcze
Przed upgrade należy zatrzymać wszystkie kontenery.
Volume
Przeprowadzić analizę volume i punktów montowania dla uruchomionych kontenerów.
Jeżeli są to punkty montowania, które wskazują ścieżki z lokalnego filesystemu do obrazu, to można pominąć ten krok
W przypadku używania volume, należy wykonać operację zgrania zawartości i wypchnięcia jej na hosta gospodarza
1docker run --rm -v docker-volume:/recover -v ~/backup:/backup ubuntu bash -c "cd /recover && tar cvf /backup/docker-volume.tar" 2
przywracanie w analogiczny sposób
1docker run --rm -v docker-volume:/backup -v ~/backup:/recover ubuntu bash -c "cd /recover && tar xvf /backup/docker-volume.tar" 2
Upgrade docker engine
Po upgrade należy zatrzymać docker daemon i usunąć zawartość dockerowego "root". Domyślna ścieżka to /var/lib/docker
Wdrożenie aplikacji
Po upgrade, należy przeprowadzić ponowne wdrożenie całej aplikacji wraz ze wszystkimi komponentami