Niespełna trzy tygodnie temu światło dzienne ujrzała nowa wersja Dockera – 18.09. Wprowadza ona szereg zmian, nowy cykl wydawniczy (nowa wersja co 6 miesięcy) oraz kilka ciekawych usprawnień. Dwie z nich („nowy” sposób budowania obrazów oraz połączenia SSH dla Docker CLI) są niezwykle interesujące.

BuildKit

BuildKit to nowy sposób budowania obrazów w dockerze. Był od pewnego czasu eksperymentalną funkcją silnika Dockera i wygląda na to, że dojrzał już na tyle, że developerzy postanowili się nim podzielić z resztą świata. Najważniejszą jego zaletą jest potencjalne przyspieszenie, jakie możemy osiągnąć budując obrazy za jego pomocą. Sam wygląd informacji, które dostajemy na ekran też uległ znaczącym zmianom, a dodatkowo inaczej cache’uje warstwy i nie możemy się już ich pozbyć usuwając obraz z lokalnego cache.

BuildKit – nowy wygląd budowniczego obrazów dockerowych

Domyślnie budowanie obrazów będzie się odbywało za pomocą „starego” dobrze znanego narzędzia, ale jeśli chcielibyśmy przełączyć się na nowego BuildKita, wystarczy w terminalu wyeksportować zmienną DOCKER_BUILDKIT  z wartością 1:

export DOCKER_BUILDKIT=1

Wszystkie build’y od tej pory będą wykonywane za pomocą BuildKita. Jeśli z jakiegoś powodu chcielibyśmy wrócić do domyślnego buildera wystarczy, że usuniemy ustawioną zmienną:

unset DOCKER_BUILDKIT

Usunięcie build cache umożliwia nowe polecenie: docker builder prune .

SSH for Docker CLI

Czysto teoretycznie od teraz nie musimy się łączyć z żadnym zdalnym hostem, żeby wykonywać na nim polecenia dockerowe. Jeśli ustawimy zmienną (w sposób analogiczny jak wyżej) DOCKER_HOST  na adres ssh w formacie ssh://user@host  to wydając polecenia dockerowe na lokalnej maszynie tak naprawdę będziemy je wykonywać na zdalnej. Jest to feature-niespodzianka w nowej wersji Dockera 😉 Aby powrócić z komendami na maszynę lokalną wystarczy usunąć ustawioną zmienną.