How to Install Docker in Centos 7 linux
Inhoudsopgave:
- voorwaarden
- Installeer Docker op CentOS
- Het Docker-commando uitvoeren zonder Sudo
- Docker-opdrachtregelinterface
- Docker-afbeeldingen
- Docker Containers
- Conclusie
Docker is een containertechnologie waarmee u snel toepassingen kunt bouwen, testen en implementeren als draagbare, zelfvoorzienende containers die vrijwel overal kunnen worden uitgevoerd.
In deze zelfstudie gaan we door hoe Docker CE op CentOS 7 te installeren en verkennen we de basis Docker-concepten en -opdrachten.
voorwaarden
Voordat u doorgaat met deze zelfstudie, moet u ervoor zorgen dat aan de volgende voorwaarden is voldaan:
- CentOS 7-serverU bent aangemeld als een niet-rootgebruiker met sudo-rechten. Raadpleeg deze handleiding voor het maken van een nieuwe sudo-gebruiker.
Installeer Docker op CentOS
Hoewel het Docker-pakket beschikbaar is in de officiële CentOS 7-repository, is het misschien niet altijd de nieuwste versie. De aanbevolen aanpak is om Docker te installeren vanuit de opslagplaatsen van Docker.
Volg de onderstaande stappen om Docker op uw CentOS 7-server te installeren:
-
Begin met het bijwerken van uw systeempakketten en installeer de vereiste afhankelijkheden:
sudo yum updatesudo yum install yum-utils device-mapper-persistent-data lvm2Voer vervolgens de volgende opdracht uit waarmee de stabiele repository van Docker aan uw systeem wordt toegevoegd:
sudo yum-config-manager --add-repoNu de Docker-repository is ingeschakeld, installeert u de nieuwste versie van Docker CE (Community-editie) met yum door te typen:
sudo yum install docker-ceZodra het Docker-pakket is geïnstalleerd, start u de Docker-daemon en schakelt u deze automatisch in tijdens het opstarten:
sudo systemctl start dockersudo systemctl enable dockerOm te controleren of de Docker-service wordt uitgevoerd, typt u:
sudo systemctl status dockerDe output zou er ongeveer zo uit moeten zien:
● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2018-10-31 08:51:20 UTC; 7s ago Docs: https://docs.docker.com Main PID: 2492 (dockerd) CGroup: /system.slice/docker.service ├─2492 /usr/bin/dockerd └─2498 docker-containerd --config /var/run/docker/containerd/containerd.tomlOp het moment van schrijven moet de huidige stabiele versie van Docker,
18.06.1, het Docker-18.06.1afdrukken:docker -vDocker version 18.06.1-ce, build e68fc7a
Het Docker-commando uitvoeren zonder Sudo
Standaard beheert Docker beheerdersrechten. Als u Docker-opdrachten wilt uitvoeren als een niet-rootgebruiker zonder
sudo
vooraf te gaan, moet u uw gebruiker toevoegen aan de dockergroep die is gemaakt tijdens de installatie van het Docker CE-pakket. U kunt dat doen door te typen:
sudo usermod -aG docker $USER
$USER
is een omgevingsvariabele die uw gebruikersnaam bevat.
Meld u af en weer aan zodat het groepslidmaatschap wordt vernieuwd.
Om te controleren of Docker met succes is geïnstalleerd en dat u Docker-opdrachten zonder sudo kunt uitvoeren, geeft u de volgende opdracht op om een testafbeelding te downloaden, in een container uit te voeren, een bericht "Hallo vanuit Docker" af te drukken en af te sluiten:
docker container run hello-world
De uitvoer moet er als volgt uitzien:
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 9bb5a5d4561a: Pull complete Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly.
Docker-opdrachtregelinterface
Nu we een werkende Docker-installatie hebben, laten we de basissyntaxis van de docker CLI doornemen.
De opdrachtregel van het koppelvenster heeft de volgende vorm:
docker
U kunt alle beschikbare opdrachten weergeven door
docker
zonder parameters te typen:
docker
Docker-afbeeldingen
Een Docker-afbeelding bestaat uit een reeks lagen die instructies vertegenwoordigen in het Docker-bestand van de afbeelding die een uitvoerbare softwaretoepassing vormen. Een afbeelding is een onveranderlijk binair bestand, inclusief de toepassing en alle andere afhankelijkheden zoals binaire bestanden, bibliotheken en instructies die nodig zijn voor het uitvoeren van de toepassing. Kortom, een Docker-afbeelding is in wezen een momentopname van een Docker-container.
De Docker Hub is een cloudgebaseerde registerservice die onder andere wordt gebruikt voor het bewaren van de Docker-afbeeldingen in een openbare of privérepository.
Gebruik de subopdracht Zoeken om in de Docker Hub-repository naar een afbeelding te
search
. Om bijvoorbeeld de CentOS-afbeelding te zoeken, voert u uit:
docker search centos
De uitvoer moet er als volgt uitzien:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 4257 ansible/centos7-ansible Ansible on Centos7 109 jdeathe/centos-ssh CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x86_… 94 consol/centos-xfce-vnc Centos container with "headless" VNC session… 52 imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 40 tutum/centos Simple CentOS docker image with SSH access 39
Zoals u kunt zien, drukt de zoekresultaten een tabel af met vijf kolommen,
NAME
,
DESCRIPTION
,
STARS
,
OFFICIAL
en
AUTOMATED
. De officiële afbeelding is een afbeelding die Docker ontwikkelt in samenwerking met upstream-partners.
Als we de officiële build van CentOS 7 willen downloaden, kunnen we dat doen met behulp van de opdracht
image pull
:
docker image pull centos
Using default tag: latest latest: Pulling from library/centos 469cfcc7a4b3: Pull complete Digest: sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16 Status: Downloaded newer image for centos:latest
Afhankelijk van uw internetsnelheid kan het downloaden enkele seconden of enkele minuten duren. Nadat de afbeelding is gedownload, kunnen we de afbeeldingen weergeven met:
docker image ls
De uitvoer moet er ongeveer zo uitzien:
REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e38bc07ac18e 3 weeks ago 1.85kB centos latest e934aafc2206 4 weeks ago 199MB
Als u om een of andere reden een afbeelding wilt verwijderen, kunt u dat doen met de subopdracht
image rm
:
docker image rm centos
Untagged: centos:latest Untagged: centos@sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16 Deleted: sha256:e934aafc22064b7322c0250f1e32e5ce93b2d19b356f4537f5864bd102e8531f Deleted: sha256:43e653f84b79ba52711b0f726ff5a7fd1162ae9df4be76ca1de8370b8bbf9bb0
Docker Containers
Een exemplaar van een afbeelding wordt een container genoemd. Een container vertegenwoordigt een runtime voor een enkele applicatie, proces of service.
Het is misschien niet de meest geschikte vergelijking, maar als u een programmeur bent, kunt u een Docker-afbeelding als klasse en Docker-container als een instantie van een klasse beschouwen.
We kunnen een container starten, stoppen, verwijderen en beheren met het
docker container
dockercontainer.
De volgende opdracht start een Docker-container op basis van de CentoOS-afbeelding. Als u de afbeelding niet lokaal hebt, wordt deze eerst gedownload:
docker container run centos
Op het eerste gezicht lijkt het je dat er helemaal niets is gebeurd. Nou, dat is niet waar. De CentOS-container stopt onmiddellijk na het opstarten omdat het geen langdurig proces heeft en we geen opdracht hebben gegeven, dus de container is opgestart, heeft een lege opdracht uitgevoerd en is vervolgens afgesloten.
Met de schakelaar
-it
kunnen we via de opdrachtregel communiceren met de container. Om een interactief containertype te starten:
docker container run -it centos /bin/bash
Zoals u aan de uitvoer kunt zien zodra de container is gestart, wordt de opdrachtprompt gewijzigd, wat betekent dat u nu vanuit de container werkt:
#
Typ het volgende om actieve containers weer te geven:
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79ab8e16d567 centos "/bin/bash" 22 minutes ago Up 22 minutes ecstatic_ardinghelli
Als u geen actieve containers hebt, is de uitvoer leeg.
Als u zowel lopende als gestopte containers wilt bekijken, geeft u de schakelaar
-a
:
docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79ab8e16d567 centos "/bin/bash" 22 minutes ago Up 22 minutes ecstatic_ardinghelli c55680af670c centos "/bin/bash" 30 minutes ago Exited (0) 30 minutes ago modest_hawking c6a147d1bc8a hello-world "/hello" 20 hours ago Exited (0) 20 hours ago sleepy_shannon
Om een of meer containers te verwijderen, kopieert u gewoon de container-ID (of ID's) van boven en plakt u ze na het subcommando
container rm
:
docker container rm c55680af670c
Conclusie
U hebt geleerd hoe Docker op uw CentOS 7-machine te installeren en hoe Docker-afbeeldingen te downloaden en Docker-containers te beheren. Misschien wilt u ook meer lezen over Docker Compose, waarmee u Docker-toepassingen met meerdere containers kunt definiëren en uitvoeren.
Deze tutorial krast nauwelijks het oppervlak van het Docker-ecosysteem. In sommige van onze volgende artikelen zullen we blijven duiken in andere aspecten van Docker. Raadpleeg de officiële Docker-documentatie voor meer informatie over Docker.
Docker Compose installeren en gebruiken op Centos 7
Docker Compose is een tool waarmee u Docker-toepassingen met meerdere containers kunt definiëren en uitvoeren. Met Compose definieert u de services, netwerken en volumes van de applicatie in één YAML-bestand en draait u vervolgens uw applicatie met een enkele opdracht.
Hoe Docker Compose te installeren en te gebruiken op Debian 10 Linux
Docker Compose is een hulpmiddel waarmee u Docker-toepassingen met meerdere containers kunt definiëren en orkestreren. In deze zelfstudie wordt uitgelegd hoe Docker Compose op Debian 10, Buster wordt geïnstalleerd.
Docker Compose installeren en gebruiken op Debian 9
Docker Compose is een hulpmiddel waarmee u Docker-toepassingen met meerdere containers kunt definiëren en orkestreren. Het gebruikt een YAML-bestand om de containers, netwerken en volumes van de toepassing te configureren.







