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.