Terug naar blog

Docker installeren en configureren op CentOS 7

Docker installeren en configureren op CentOS 7

Inleiding

Docker is een platform dat het uitvoeren en beheren van applicatieprocessen in containers eenvoudiger maakt. Het biedt een manier om uw applicaties te scheiden van uw infrastructuur. Containers lijken erg op virtuele machines, maar ze zijn draagbaarder, efficiënter en gebruiksvriendelijker. Er zijn verschillende manieren om Docker te installeren op Linux distributies. De meest populaire en eenvoudige manier om Docker op het bestaande besturingssysteem te installeren is door gebruik te maken van yum-commando's.

Deze handleiding laat zien hoe u Docker kunt instellen en gebruiken op CentOS 7 in een paar eenvoudige stappen.

Vereisten:

Alle commando's die u in deze handleiding uitvoert, worden uitgevoerd als een niet-rootgebruiker en indien nodig wordt root-toegang verleend met behulp van het sudo-sleutelwoord.

Stap 1: Docker instellen op een CentOS 7-instantie

De officiële CentOS 7-repository bevat mogelijk niet het nieuwste installatiepakket voor Docker. In dit gedeelte installeert u de nieuwste versie van Docker vanuit de officiële Docker-repository. Eerst moet u de pakketdatabase bijwerken met:

Nadat de updatestap is voltooid, voert u het onderstaande commando uit om de nieuwste versie van Docker te downloaden en te installeren:

Docker is nu geïnstalleerd, dus u kunt de Docker-daemon starten door het onderstaande commando uit te voeren:

Om te controleren of de Docker-daemon actief is, typt u het volgende:

De uitvoer van het commando systemctl status zou vergelijkbaar moeten zijn met de hieronder gedeelde uitvoer, die laat zien dat het actief is:

Om er ten slotte voor te zorgen dat Docker opstart wanneer u uw machine opnieuw opstart, gebruikt u het commando:

De Docker-installatie biedt u zowel de Docker-service als het clienthulpprogramma (Docker command-line client). In de volgende secties van de handleiding kunt u meer praktijkervaring opdoen met de Docker-commando's.

U kunt ook een kijkje nemen bij onze diepgaande handleiding over het installeren & beheren van Docker op Ubuntu in the public cloud.

Stap 2: Docker-commando's gebruiken zonder Sudo-voorvoegsel

Docker-commando's hebben root-privileges nodig om te worden uitgevoerd. Dus als u de commando's wilt uitvoeren, moet u er sudo voor zetten. Tijdens de installatie wordt er standaard een Docker-groep aangemaakt. Als u een gebruiker aan de groep toevoegt, kunt u de Docker-commando's zonder sudo uitvoeren. Als u probeert Docker-commando's uit te voeren zonder sudo of zonder de gebruiker aan de groep toe te voegen, leidt dit tot een uitvoer die vergelijkbaar is met de onderstaande:

Als u uw gebruikersnaam toevoegt aan de Docker-groep, hoeft u geen sudo te gebruiken om de Docker-commando's uit te voeren:

Om een andere gebruiker aan de Docker-groep toe te voegen, kunt u eenvoudig de gebruikersnaam in het commando vervangen:

Voor de rest van deze handleiding gaan we ervan uit dat alle commando's worden uitgevoerd door een gebruiker in de Docker-gebruikersgroep. Als dit niet het geval is, kunt u het sudo-voorvoegsel bij de commando's gebruiken.

Stap 3: De Docker-opdrachten uitvoeren

Nu je Docker hebt geïnstalleerd en het actief is, laten we eens kijken naar enkele opdrachten om vertrouwd te raken met het Docker-opdrachtregelprogramma. Docker-opdrachten hebben meestal de volgende vorm:

Om alle beschikbare subopdrachten te vinden, gebruik je:

Vanaf Docker 20.10.3, bevat de volledige lijst met beschikbare subopdrachten:

Je kunt de flag –help gebruiken bij een specifiek commando om er meer informatie over te krijgen:

Gebruik het volgende commando voor gedetailleerde informatie over het systeem:

Stap 4: Werken met Docker Images

Docker-images kunnen worden gezien als de blauwdruk voor Docker-containers. Deze images worden meestal binnengehaald (gepulld) van de Docker Hub, een registry die wordt beheerd door het Docker-project. Iedereen kan eigen images maken en pushen naar de Docker Hub. Hierdoor kun je eenvoudig een grote verscheidenheid aan applicaties en OS-distributies in de registry vinden. Laten we een eenvoudig programma uitproberen om de toegang tot de Docker Hub te bevestigen:

Je zou een uitvoer zoals hieronder moeten krijgen, wat aantoont dat Docker werkt:

Je kunt verschillende Docker-images vinden op de Docker Hub met behulp van het commando search. Zie bijvoorbeeld het onderstaande commando om te zoeken naar een CentOS-image:

De zoekopdracht toont een lijst met alle images die overeenkomen met de zoekterm. In jouw geval zou de uitvoer er als volgt uit moeten zien:

In de zoekresultaten staan verschillende kolommen die informatie over de image beschrijven. De OK in de kolom OFFICIAL bepaalt dat de image is gemaakt en wordt ondersteund door het bedrijf achter de applicatie. Zodra u de image heeft definitief gemaakt, kunt u deze naar uw lokale machine downloaden met behulp van het Docker pull-commando:

Na het downloaden van de image kunt u de container uitvoeren met het Docker run-commando. Als u direct probeert een image uit te voeren zonder deze eerst te downloaden, zal Docker de image downloaden en daarna de container uitvoeren:

U kunt de images die naar uw lokale machine zijn gedownload weergeven met het onderstaande commando:

U zou een vergelijkbare uitvoer moeten krijgen:

Verderop in deze handleiding kunt u de images aanpassen om de containers uit te voeren. Deze nieuwe images kunnen worden toegevoegd of gepusht naar Docker Hub en andere registers die Docker-images hosten.

Stap 5: Een container interactief uitvoeren

Er zijn verschillende soorten containers. De hello-world-container die u heeft uitgevoerd in Stap 4 is een type container dat wordt uitgevoerd en stopt na het afdrukken van een bericht. Een ander type container is de interactieve container. U kunt interactieve containers op een vergelijkbare manier gebruiken als een virtuele machine.

Laten we een container maken van de nieuwste CentOS-image. Het gebruik van de vlaggen -i en -t in het Docker run-commando geeft interactieve toegang tot de CentOS-container:

De opdrachtprompt zal veranderen en zou eruit moeten zien als de onderstaande uitvoer:

Nu zal elk commando dat u uitvoert binnen de container worden uitgevoerd. Dat is vergelijkbaar met het uitvoeren van een commando in een virtuele machine. Laten we proberen MySQL server te installeren in de CentOS-container. U kunt dit doen met:

Stap 6: Wijzigingen in een container vastleggen in een Docker-image

Na het starten van de container kunt u alle bewerkingen uitvoeren die mogelijk zijn in een vergelijkbare virtuele machine, zoals het maken/wijzigen van bestanden of het instellen van een app. Houd er rekening mee dat deze wijzigingen alleen voor die container behouden blijven, en nadat u de container verwijdert, gaan de gemaakte wijzigingen verloren.

In dit deel van de handleiding leert u hoe u een nieuwe Docker-image maakt van een container met de wijzigingen die u hebt aangebracht. Na Stap 5 heeft u een CentOS-container draaien waarop de MySQL-server is geïnstalleerd. Deze container is nu anders dan de standaard CentOS-image. U kunt deze status van de container opslaan voor toekomstig gebruik. Eerst moet u de container afsluiten met:

Leg de wijzigingen die u in de container hebt aangebracht vast in een nieuwe Docker-image met de onderstaande opdracht:

In de opdracht verwijst -m naar het commit-bericht en moet in feite de aangebrachte wijzigingen aanduiden, de tag -a wordt gebruikt om de auteur te vermelden. Container-id is die van Stap 5, die u hebt gekregen na het uitvoeren van de container in de interactieve modus, en meestal is de repository uw gebruikersnaam voor Docker Hub. Bijvoorbeeld:

Nu de image is vastgelegd, zou de opdracht Docker-images zowel de nieuwe image als de oude moeten weergeven:

De uitvoer van de opdracht zou vergelijkbaar moeten zijn met de onderstaande:

Zoals in het voorbeeld te zien is, is er een nieuwe image centos-mysql gemaakt met behulp van de CentOS-image van de Docker Hub. Het verschil in grootte geeft aan dat er enkele wijzigingen zijn aangebracht. In dit voorbeeld was dat de toevoeging van de MySQL-server in de container. De volgende keer dat u een container met een MySQL-server nodig heeft, kunt u gewoon de nieuwe image uitvoeren, en voilà! U heeft een CentOS-container met een vooraf geïnstalleerde en actieve MySQL-server.

Stap 7: Docker-containers beheren

Nu u bekend bent met Docker, heeft u na verloop van tijd waarschijnlijk al een aantal actieve en inactieve containers. Om de lijst met actieve containers te krijgen, gebruikt u:

U zou een vergelijkbare uitvoer moeten zien:

Om zowel de actieve als inactieve containers op te sommen, moet u de -a-vlag gebruiken met het commando:

Om de laatste container te vinden die u hebt gemaakt, kunt u de -l-vlag opgeven:

Om een actieve/lopende container te stoppen, voert u een eenvoudig commando uit:

U kunt de container-id vinden in de uitvoer van het Docker ps-commando.

Stap 8: De images publiceren naar een repository

De volgende stap na het maken van de nieuwe image is om deze te delen met uw vrienden. U kunt deze ook beschikbaar maken voor de hele wereld met behulp van Docker Hub of een andere registry. U moet inloggen op de respectieve registry voordat u de image pusht.

In het volgende deel van de handleiding leert u hoe u de images naar Docker Hub pusht. Meld u eerst aan op Docker Hub. U moet inloggen op Docker Hub om uw image te pushen met het onderstaande commando:

Zodra u het juiste wachtwoord invoert en de authenticatie succesvol is, kunt u uw image pushen. Gebruik het onderstaande commando om de image te pushen:

De uitvoer van het commando zal vergelijkbaar zijn met dit:

Zodra u de image hebt gepusht, zou deze moeten verschijnen op het dashboard van uw account, zoals te zien is in de onderstaande afbeelding:

docker account dashboard

In het geval van een mislukking op een vergelijkbare manier, is de kans groot dat u niet bent ingelogd:

U kunt inloggen en de pushpoging herhalen.

Conclusie

Er zijn verschillende manieren waarop u gebruik kunt maken van Docker. Deze handleiding zou u voldoende informatie moeten bieden om aan de slag te gaan. En aangezien Docker een erg populair project is, kunt u veel details over het gebruik en verschillende use cases vinden op de blogpagina van het project.

U kunt ook onze andere Docker-handleidingen bekijken om meer te leren over wat u met Docker kunt doen:

Veel computerplezier!

author

Pranay Kapgate

Auteur · CloudSigma

Preslav Dobrev is een creatief ontwerper bij CloudSigma, met de nadruk op een consistente bedrijfsidentiteit door middel van traditionele en innovatieve marketingkanalen. Hij is bedreven in het samenvoegen van artistieke visie met strategische marketing om impactvolle merkverhalen te creëren.

Reacties

Nog geen reacties. Wees de eerste.