Android

Docker op Centos installeren en gebruiken 7

How to Install Docker in Centos 7 linux

How to Install Docker in Centos 7 linux

Inhoudsopgave:

Anonim

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:

  1. Begin met het bijwerken van uw systeempakketten en installeer de vereiste afhankelijkheden:

    sudo yum update sudo yum install yum-utils device-mapper-persistent-data lvm2

    Voer vervolgens de volgende opdracht uit waarmee de stabiele repository van Docker aan uw systeem wordt toegevoegd:

    sudo yum-config-manager --add-repo

    Nu de Docker-repository is ingeschakeld, installeert u de nieuwste versie van Docker CE (Community-editie) met yum door te typen:

    sudo yum install docker-ce

    Zodra het Docker-pakket is geïnstalleerd, start u de Docker-daemon en schakelt u deze automatisch in tijdens het opstarten:

    sudo systemctl start docker sudo systemctl enable docker

    Om te controleren of de Docker-service wordt uitgevoerd, typt u:

    sudo systemctl status docker

    De 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.toml

    Op het moment van schrijven moet de huidige stabiele versie van Docker, 18.06.1 , het Docker- 18.06.1 afdrukken:

    docker -v

    Docker 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 --help

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 centos