Sådan installeres og bruges Docker på Ubuntu 20.04


Docker er en mest populær open source-platform for udviklere og systemadministratorer til at opbygge, køre og dele applikationer med containere. Containerisering (brugen af containere til at implementere applikationer) bliver populær, fordi containere er fleksible, lette, bærbare, løst koblede, skalerbare og mere sikre.

Denne artikel er et godt udgangspunkt for begyndere at lære at installere og bruge Docker på et Ubuntu 20.04 Linux-system med nogle grundlæggende kommandoer. I denne vejledning installerer vi Docker Community Edition (CE).

  • En installation af Ubuntu 20.04-serveren.
  • En bruger med privilegier til at køre sudo-kommando.

Installation af Docker på Ubuntu 20.04

For at bruge den nyeste version af Docker installerer vi den fra det officielle Docker-arkiv. Så start med at tilføje GPG-nøglen til det officielle Docker-lager til dit system, derefter tilføj lagerkonfigurationen til APT-kilden med følgende kommandoer.

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Opdater nu APT-pakkecachen, så den inkluderer de nye Docker-pakker til systemet ved hjælp af følgende kommando.

$ sudo apt update

Installer derefter Docker-pakken som vist.

$ sudo apt install docker-ce

Under Docker-pakkeinstallationsprocessen udløser pakkeinstallatøren systemd (system- og servicemanager) til automatisk at starte og aktivere dockertjenesten. Brug af følgende kommandoer til at bekræfte, at dockertjenesten er aktiv og er aktiveret til automatisk at starte ved systemstart. Kontroller også dens status:

$ sudo systemctl is-active docker
$ sudo systemctl is-enabled docker
$ sudo systemctl status docker

Der er flere andre systemctl-kommandoer til at styre og kontrollere dockertjenesten, som inkluderer følgende:

$ sudo systemctl stop docker			#stop the docker service
$ sudo systemctl start docker			#start the docker service
$ sudo systemctl  restart docker		#restart the docker service

For at kontrollere den version af Docker CE, der er installeret på dit system, skal du køre følgende kommando:

$ docker version

Du kan se tilgængelige kommandoer til brug af docker ved at køre docker-kommandoen uden nogen indstillinger eller argumenter:

 
$ docker

Administrer Docker som en ikke-root-bruger med sudo Command

Som standard binder Docker-dæmonen til et UNIX-stik (i stedet for en TCP-port), der ejes af brugerens rod. Derfor kører Docker-dæmonen altid som rodbruger, og for at køre docker-kommandoen skal du bruge sudo.

Derudover oprettes der under gruppen Docker-pakke en gruppe kaldet docker . Når Docker-dæmonen starter, opretter den et UNIX-stik, der er tilgængeligt for medlemmer af dockergruppen (som giver privilegier svarende til rodbrugeren).

For at køre docker-kommandoen uden sudo skal du tilføje alle ikke-root-brugere, der formodes at få adgang til docker, i docker-gruppen som følger. I dette eksempel føjer kommandoen den aktuelt loggede bruger ($ USER) eller brugernavn til dockergruppen:

$ sudo usermod -aG docker $USER
OR
$ sudo usermod -aG docker username

For at aktivere gruppens ændringer skal du køre følgende kommando:

$ newgrp docker 
$ groups

Kontroller derefter, at du kan køre dockerkommandoer uden sudo. Den følgende kommando downloader et testbillede og kører det i en container. Når beholderen kører, udskriver den en informationsbesked og afslutter. Dette er også en anden måde at krydstjekke, om din installation fungerer fint.

$ docker run hello-world

Arbejde med Docker Images

Et Docker-billede er en skrivebeskyttet skabelonfil med instruktioner til oprettelse af en Docker-container. Du kan enten oprette dine brugerdefinerede billeder, eller du kan kun bruge dem, der er oprettet af andre og offentliggjort i Docker Hub, verdens største bibliotek og community til containerbilleder.

Du kan søge efter et centos -billede i Docker Hub med følgende kommando:

$ docker search centos 

Brug pull-kommandoen for at downloade et billede lokalt. Dette eksempel viser, hvordan man downloader det officielle centos-billede.

$ docker pull centos

Når downloadingen er afsluttet, kan du liste de tilgængelige billeder på dit lokale system.

$ docker images

Hvis du ikke længere har brug for et billede, kan du fjerne det fra dit system.

$ docker rmi centos
OR
$ docker rmi centos:latest    #where latest is the tag

Kørsel og administration af Docker-containere

En Docker-container er en proces, der kører indbygget på Linux og deler kernen på værtsmaskinen med andre containere. Vedrørende et Docker-billede er en container bare et kørende billede.

For at starte en container baseret på dit nye centos -billede skal du køre følgende kommando, hvor "centos" er det lokale billednavn og "cat/etc/centos-release" er kommando til at køre i containeren:

$ docker run centos cat /etc/centos-release

En container kører en diskret proces, der er isoleret ved, at den har sin egen: filsystem, netværk og isoleret procestræ adskilt fra værten. Bemærk, at du kan manipulere en container ved hjælp af containerens ID, ID-præfiks eller navn som vist nedenfor. Ovenstående containerproces afsluttes, når kommandoen kører.

For at liste Docker-containere skal du bruge docker ps-kommandoen som følger. Brug flag -l til at vise den senest oprettede container i alle stater:

$ docker ps
OR
$ docker ps -l

Brug flag -a til at vise alle containere inklusive dem, der er forladt.

$ docker ps -a

Du kan også starte en container ved hjælp af dens container-id, når den er afsluttet. For eksempel i vores forrige kommando er vores container-id 94c35e616b91. Vi kan starte containeren som vist (bemærk, at den kører kommandoen og afslutter):

$ docker start 94c35e616b91

For at stoppe en kørende container ved hjælp af dens ID skal du bruge stopkommandoen som vist.

$ docker stop 94c35e616b91

Docker giver dig også mulighed for at tildele et navn til en container ved hjælp af indstillingen --name , når du kører den.

$ docker run --name my_test centos cat /etc/centos-release
$ docker ps -l

Nu kan du bruge containernavnet til at administrere (start, stop, statistik, fjern osv.) Containeren:

$ docker stop my_test
$ docker start my_test
$ docker stats my_test
$ docker rm my_test

Kørsel af en interaktiv session i en Docker Container

For at starte en interaktiv shell-session i en container, så du kan køre kommandoer i containeren, skal du køre følgende kommando:

$ docker run --name my_test -it centos

I ovenstående kommando fortæller -it switches Docker at tildele en pseudo-TTY forbundet til containerens stdin og derved skabe en interaktiv bash shell i containeren.

Du kan afslutte ved at udstede exit-kommandoen som vist.

# exit

Hvis du foretrækker ikke at gå ud, kan du løsne den fra en container og lade den køre. For at gøre dette skal du bruge CTRL + p og derefter CTRL + q nøglesekvens.

Du kan oprette forbindelse igen til containeren ved hjælp af vedhæftningskommandoen, der vedhæfter lokal standardindgangs-, output- og fejlstrømme til den kørende container:

$ docker attach my_test

Derudover kan du starte en container i løsrevet tilstand ved hjælp af -d flag. Brug derefter vedhæft kommandoen til at vedhæfte din terminal standard input-, output- og fejlstrømme til den kørende container:

$ docker run --name my_test -d -it centos
$ docker attach my_test

Sidst men ikke mindst kan du stoppe en kørende container fra værtssessionen ved at køre følgende kommando:

$ docker kill my_test

Det er alt! I denne vejledning har vi dækket, hvordan du installerer og bruger Docker CE i Ubuntu 20.04 Linux. Hvis du har spørgsmål, kan du bruge feedbackformularen nedenfor til at stille os.