Nu finns Docker Desktop även för Linux. Precis som Docker Desktop för macOS och Windows, finns även Kubernetes inkluderat i Linux-versionen. Man använder även ett VM för att köra containrarna.

Nätverksswitch Bild: Furuno

Docker Desktop för Linux använder KVM för att köra en virtuell Linux-maskin. Det är i denna som containrarna körs. Anledningen till att man valt att köra med ett VM även för Linux-versionen är för att ge användarna en enhetlig upplevelse över alla operativsystemen, samt för att isolera containrarna för ökad säkerhet.1

Det finns färdiga paket att ladda ner för Ubuntu, Debian och Fedora från Docker. Det finns även ett experimentellt paket för Arch-baserade Linuxutgåvor.

När Docker Desktop är installerat och startat ser det precis ut som för de övriga operativsystemen.

Docker Desktop för Linux skärmdump

Det går att installera Docker Desktop parallellt med den vanliga Docker Engine. Man använder då samma docker-kommando för båda, men växlar context beroende på var man vill köra sina containrar. Docker Engine heter normalt default och Docker Desktop desktop-linux:

$> docker context list
NAME            DESCRIPTION                                DOCKER ENDPOINT 
default         Current DOCKER_HOST based configuration    unix:///var/run/docker.sock
desktop-linux *                                            unix:///home/jake/.docker/desktop/docker.sock

När man har startat Docker Desktop är desktop-linux standardvalet. För att växla tillbaks till Docker Engine medan Docker Desktop fortfarande körs använder man docker context use med namnet default:

$> docker context use default
default

Alla docker-kommandon kommer nu att utföras på Docker Engine. För att byta tillbaks till Docker Desktop används istället desktop-linux. För det mesta behöver man dock inte bry sig om att byta kontext. När man avslutar Docker Desktop väljs automatiskt Docker Engine, och när man återstartar den väljs istället Docker Desktop.

En annan fördel med att köra containrarna i ett VM i Docker Desktop är att det blir enklare att köra Docker som en vanlig användare.

Fotnoter