Zoeken op website

Docker installeren en gebruiken op Ubuntu 20.04


Docker is een populair, open-sourceplatform voor ontwikkelaars en systeembeheerders om applicaties met containers te bouwen, uit te voeren en te delen. Containerisatie (het gebruik van containers om applicaties in te zetten) wordt populair omdat containers flexibel, lichtgewicht, draagbaar, losjes gekoppeld, schaalbaar en veiliger zijn.

Dit artikel is een goed startpunt voor beginners om te leren hoe ze Docker kunnen installeren en gebruiken op een Ubuntu 20.04 Linux-systeem met enkele basisopdrachten. Voor deze handleiding installeren we Docker Community Edition (CE).

Vereisten:

  • Een installatie van de Ubuntu 20.04-server.
  • Een gebruiker met rechten om de sudo-opdracht uit te voeren.

Docker installeren op Ubuntu 20.04

Om de nieuwste versie van Docker te gebruiken, installeren we deze vanuit de officiële Docker-repository. Begin dus met het toevoegen van de GPG sleutel voor de officiële Docker repository aan uw systeem, en voeg daarna de repositoryconfiguratie toe aan de APT bron met de volgende opdrachten.

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"

Werk nu de APT pakketcache bij om de nieuwe Docker-pakketten in het systeem op te nemen met behulp van de volgende opdracht.

sudo apt update

Installeer vervolgens het Docker pakket zoals weergegeven.

sudo apt install docker-ce

Tijdens het installatieproces van het Docker pakket activeert het pakketinstallatieprogramma de systemd (systeem- en servicebeheerder) om de docker-service automatisch te starten en in te schakelen. Gebruik de volgende opdrachten om te bevestigen dat de docker-service actief is en is ingeschakeld om automatisch te starten bij het opstarten van het systeem. Controleer ook de status:

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

Er zijn verschillende andere systemctl-opdrachten om de docker-service te beheren en te controleren, waaronder het volgende:

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

Om te controleren welke versie van Docker CE op uw systeem is geïnstalleerd, voert u de volgende opdracht uit:

docker version

U kunt de beschikbare docker-gebruiksopdrachten bekijken door de docker-opdracht uit te voeren zonder opties of argumenten:

 
docker

Beheer Docker als niet-rootgebruiker met sudo Command

Standaard bindt de Docker daemon aan een UNIX-socket (in plaats van aan een TCP-poort) die eigendom is van de root van de gebruiker. Daarom draait de Docker daemon altijd als rootgebruiker en om de docker-opdracht uit te voeren, moet je sudo gebruiken.

Bovendien wordt tijdens de installatie van het Docker pakket een groep met de naam docker aangemaakt. Wanneer de Docker daemon start, creëert deze een UNIX-socket die toegankelijk is voor leden van de docker groep (die rechten verleent die gelijkwaardig zijn aan die van de rootgebruiker).

Om de opdracht docker uit te voeren zonder sudo, voegt u als volgt alle niet-rootgebruikers die toegang moeten hebben tot docker toe aan de groep docker. In dit voorbeeld voegt de opdracht de momenteel aangemelde gebruiker ($USER) of gebruikersnaam toe aan de dockergroep:

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

Om de wijzigingen in groepen te activeren, voert u de volgende opdracht uit:

newgrp docker 
groups

Controleer vervolgens of u docker-opdrachten kunt uitvoeren zonder sudo. Met de volgende opdracht wordt een testimage gedownload en uitgevoerd in een container. Zodra de container actief is, drukt deze een informatiebericht af en wordt afgesloten. Dit is ook een andere manier om te controleren of uw installatie goed werkt.

docker run hello-world

Werken met Docker-afbeeldingen

Een Docker afbeelding is een alleen-lezen sjabloonbestand met instructies voor het maken van een Docker container. U kunt uw eigen afbeeldingen maken of u kunt alleen afbeeldingen gebruiken die door anderen zijn gemaakt en zijn gepubliceerd in de Docker Hub, 's werelds grootste bibliotheek en community voor containerafbeeldingen.

U kunt met het volgende commando naar een centos afbeelding zoeken in de Docker Hub:

docker search centos 

Om een afbeelding lokaal te downloaden, gebruikt u de pull-opdracht. Dit voorbeeld laat zien hoe u de officiële centos-afbeelding downloadt.

docker pull centos

Zodra het downloaden is voltooid, kunt u de beschikbare afbeeldingen op uw lokale systeem weergeven.

docker images

Als u een afbeelding niet langer nodig heeft, kunt u deze van uw systeem verwijderen.

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

Docker-containers uitvoeren en beheren

Een Docker container is een proces dat native op Linux draait en de kernel van de hostmachine deelt met andere containers. Wat een Docker-image betreft, is een container slechts een actieve image.

Om een container te starten op basis van uw nieuwe centos afbeelding, voert u de volgende opdracht uit waarbij “centos ” de lokale afbeeldingsnaam is en “cat /etc/centos-release ” is het commando dat in de container moet worden uitgevoerd:

docker run centos cat /etc/centos-release

Een container voert een afzonderlijk proces uit dat geïsoleerd is in de zin dat het zijn eigen bestandssysteem, netwerk en geïsoleerde procesboom heeft, los van de host. Houd er rekening mee dat u een container kunt manipuleren met behulp van de ID, het ID-voorvoegsel of de naam van de container, zoals hieronder weergegeven. Het bovenstaande containerproces wordt afgesloten nadat de opdracht is uitgevoerd.

Om Docker-containers weer te geven, gebruikt u de opdracht docker ps als volgt. Gebruik de vlag -l om de laatst gemaakte container in alle statussen weer te geven:

docker ps
OR
docker ps -l

Om alle containers weer te geven, inclusief de containers die zijn afgesloten, gebruikt u de vlag -a.

docker ps -a

U kunt een container ook starten met behulp van de container-ID nadat deze is afgesloten. In de vorige opdracht is onze container-ID bijvoorbeeld 94c35e616b91. We kunnen de container starten zoals weergegeven (merk op dat deze de opdracht uitvoert en afsluit):

docker start 94c35e616b91

Om een actieve container te stoppen met behulp van zijn ID, gebruikt u de stopopdracht zoals weergegeven.

docker stop 94c35e616b91

Met Docker kunt u ook een naam aan een container toewijzen met behulp van de optie --name wanneer u deze uitvoert.

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

Nu kunt u de containernaam gebruiken om de container te beheren (starten, stoppen, statistieken, verwijderen, enz.):

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

Een interactieve sessie uitvoeren in een Docker-container

Om een interactieve shell-sessie in een container te starten zodat u opdrachten binnen de container kunt uitvoeren, voert u de volgende opdracht uit:

docker run --name my_test -it centos

In het bovenstaande commando vertellen de -it schakelaars Docker om een pseudo-TTY toe te wijzen die is verbonden met de stdin van de container, waardoor een interactieve bash-shell in de container ontstaat.

U kunt afsluiten door het exit-commando te geven, zoals weergegeven.

exit

Als u liever niet uitstapt, kunt u zich losmaken van een container en deze laten draaien. Om dat te doen, gebruikt u de toetsenreeks CTRL+p en vervolgens CTRL+q.

U kunt weer verbinding maken met de container met behulp van de opdracht attach, waarmee lokale standaard invoer-, uitvoer- en foutstromen aan de actieve container worden gekoppeld:

docker attach my_test

Bovendien kunt u een container in de vrijstaande modus starten met behulp van de vlag -d. Gebruik vervolgens de opdracht attach om de standaard invoer-, uitvoer- en foutstromen van uw terminal aan de actieve container te koppelen:

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

Last but not least kunt u een actieve container vanuit de hostsessie stoppen door de volgende opdracht uit te voeren:

docker kill my_test

Dat is alles! In deze handleiding hebben we besproken hoe u Docker CE installeert en gebruikt in Ubuntu 20.04 Linux. Als u vragen heeft, kunt u het onderstaande feedbackformulier gebruiken om deze aan ons te stellen.