Docker Engine installeren op CentOS

Geschatte leestijd: 10 minuten

Om met Docker Engine op CentOS aan de slag te gaan, moet u eerst aan de vereisten voldoen en vervolgens Docker installeren.

Voorwaarden

OS-vereisten

Om Docker Engine te installeren, hebt u een onderhouden versie van CentOS 7 of 8 nodig.Gearchiveerde versies worden niet ondersteund of getest.

De centos-extras repository moet zijn ingeschakeld. Deze repository is standaard ingeschakeld, maar als u deze hebt uitgeschakeld, moet u deze weer inschakelen.

Het overlay2 opslagstuurprogramma wordt aanbevolen.

Ontinstalleer oude versies

Oldere versies van Docker heetten docker of docker-engine. Als deze zijn geïnstalleerd, verwijdert u deze, samen met de bijbehorende afhankelijkheden.

$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine

Het is OK als yum meldt dat geen van deze pakketten is geïnstalleerd.

De inhoud van /var/lib/docker/, inclusief images, containers, volumes, en netwerken, blijft behouden. Het Docker Engine pakket heet nu docker-ce.

Installatiemethoden

U kunt Docker Engine op verschillende manieren installeren, afhankelijk van uw behoeften:

  • De meeste gebruikers zetten Docker’s repositories op en installeren van daaruit, voor het gemak van installatie- en upgrade-taken. Dit is de aanbevolen aanpak.

  • Sommige gebruikers downloaden het RPM-pakket en installeren het handmatig en beheren upgrades volledig handmatig. Dit is handig in situaties zoals het installeren van Docker op air-gapped systemen zonder toegang tot het internet.

  • In test- en ontwikkelomgevingen kiezen sommige gebruikers ervoor om geautomatiseerdeconvenience scripts te gebruiken om Docker te installeren.

Installeren met behulp van de repository

Voordat u Docker Engine voor de eerste keer op een nieuwe host machine installeert, moet u de Docker repository instellen. Daarna kunt u Docker installeren en updaten vanuit de repository.

De repository instellen

Installeer het yum-utils pakket (dat de yum-config-managerutility levert) en stel de stabiele repository in.

$ sudo yum install -y yum-utils$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo

Optioneel: Schakel de nachtelijke of testrepositories in.

Deze repositories zijn opgenomen in het docker.repo bestand hierboven, maar zijn standaard uitgeschakeld. Je kunt ze inschakelen naast het stable repository. Het volgende commando schakelt de nachtelijke repository in.

$ sudo yum-config-manager --enable docker-ce-nightly

Om het testkanaal in te schakelen, voer je het volgende commando uit:

$ sudo yum-config-manager --enable docker-ce-test

U kunt het nachtelijke of testrepository uitschakelen door hetyum-config-manager commando uit te voeren met de --disable vlag. Om het opnieuw in te schakelen, gebruikt u de --enable vlag. Het volgende commando schakelt de nachtelijke repository uit.

$ sudo yum-config-manager --disable docker-ce-nightly

Lees meer over nachtelijke repository’s en testkanalen.

Installeer Docker Engine

  1. Installeer de nieuwste versie van Docker Engine en containerd, of ga naar de volgende stap om een specifieke versie te installeren:

    $ sudo yum install docker-ce docker-ce-cli containerd.io

    Als u wordt gevraagd de GPG-sleutel te accepteren, controleert u of de vingerafdruk overeenkomt060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35, en zo ja, accepteert u deze.

    Krijgt u meerdere Docker repositories?

    Als u meerdere Docker repositories hebt ingeschakeld, installeert of update u zonder een versie op te geven in het yum install ofyum update commando altijd de hoogst mogelijke versie, wat misschien niet geschikt is voor uw stabiliteitsbehoeften.

    Docker is geïnstalleerd maar niet gestart. De docker groep is aangemaakt, maar er zijn geen gebruikers aan de groep toegevoegd.

  2. Om een specifieke versie van Docker Engine te installeren, maak een lijst van de beschikbare versies in de repo, selecteer dan en installeer:

    a. Lijst en sorteer de versies die beschikbaar zijn in uw repo. Dit voorbeeld sorteert de resultaten op versienummer, van hoog naar laag, en is ingekort:

    $ yum list docker-ce --showduplicates | sort -rdocker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stabledocker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stabledocker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stabledocker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable

    De teruggestuurde lijst is afhankelijk van welke repositories zijn ingeschakeld, en is specifiek voor uw versie van CentOS (aangegeven door het achtervoegsel .el7 in dit voorbeeld).

    b. Installeer een specifieke versie met de volledig gekwalificeerde pakketnaam, dat is de pakketnaam (docker-ce) plus de versiestring (2e kolom) beginnend bij de eerste dubbele punt (:), tot aan het eerste koppelteken, gescheiden door een koppelteken (-). Bijvoorbeeld docker-ce-18.09.1.

    $ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

    Docker is geïnstalleerd maar niet gestart. De docker groep is aangemaakt, maar er zijn geen gebruikers aan de groep toegevoegd.

  3. Start Docker.

    $ sudo systemctl start docker
  4. Verifieer of Docker Engine correct is geïnstalleerd door de hello-worldimage uit te voeren.
    $ sudo docker run hello-world

    Dit commando downloadt een testimage en voert deze uit in een container. Als de container wordt uitgevoerd, wordt een informatiebericht afgedrukt en wordt de container afgesloten.

Docker Engine is geïnstalleerd en draait. U moet sudo gebruiken om Dockercommando’s uit te voeren. Ga verder naar Linux postinstall om alle geprivilegieerde gebruikers Docker commando’s te laten uitvoeren en voor andere optionele configuratiestappen.

Upgrade Docker Engine

Om Docker Engine te upgraden, volgt u de installatie instructies, waarbij u de nieuwe versie kiest die u wilt installeren.

Installeren vanuit een pakket

Als u Docker’s repository niet kunt gebruiken om Docker te installeren, kunt u het.rpm bestand voor uw release downloaden en het handmatig installeren. U moet telkens een nieuw bestand downloaden als u de Docker Engine wilt upgraden.

  1. Ga naar https://download.docker.com/linux/centos/and kies uw versie van CentOS. Blader dan naar x86_64/stable/Packages/ en download het .rpm bestand voor de Docker versie die u wilt installeren.

    Note: Om een nightly of test (pre-release) pakket te installeren, verander het woord stable in de bovenstaande URL in nightly of test.Meer informatie over nachtelijke en testkanalen.

  2. Installeer Docker Engine, door het onderstaande pad te wijzigen in het pad waar u het Docker-pakket hebt gedownload.
    $ sudo yum install /path/to/package.rpm

    Docker is geïnstalleerd maar niet gestart. De docker groep is aangemaakt, maar er zijn geen mensen aan de groep toegevoegd.

  3. Start Docker.

    $ sudo systemctl start docker
  4. Verifieer dat Docker Engine correct is geïnstalleerd door de hello-worldimage uit te voeren.
    $ sudo docker run hello-world

    Dit commando downloadt een testimage en voert deze uit in een container. Als de container wordt uitgevoerd, wordt een informatiebericht afgedrukt en wordt de container afgesloten.

Docker Engine is geïnstalleerd en draait. U moet sudo gebruiken om Docker-commando’s uit te voeren.Ga verder naar Post-installatiestappen voor Linux om alle gebruikers met een voorkeursrecht Docker-commando’s te laten uitvoeren en voor andere optionele configuratiestappen.

Upgrade Docker Engine

Om Docker Engine te upgraden, downloadt u het nieuwere pakketbestand en herhaalt u de installatieprocedure, met yum -y upgradein plaats van yum -y install, en wijst u naar het nieuwe bestand.

Installeren met het gemaksscript

Docker biedt gemaksscripts op get.docker.comen test.docker.com voor het snel en niet-interactief installeren van rand- en testversies van Docker Engine – Community in ontwikkelomgevingen. De broncode voor de scripts staat in dedocker-install repository.Het gebruik van deze scripts wordt niet aanbevolen voor productieomgevingen, en u moet de potentiële risico’s begrijpen voordat u ze gebruikt:

  • De scripts vereisen root of sudo privileges om ze uit te voeren. Daarom moet u de scripts zorgvuldig onderzoeken en controleren voordat u ze uitvoert.
  • De scripts proberen uw Linux distributie en versie te detecteren en uw pakketbeheersysteem voor u te configureren. Bovendien staan de scripts u niet toe om installatieparameters aan te passen. Dit kan leiden tot een niet-ondersteunde configuratie, zowel vanuit het oogpunt van Docker als vanuit de richtlijnen en standaarden van uw eigen organisatie.
  • De scripts installeren alle afhankelijkheden en aanbevelingen van de packagemanager zonder om bevestiging te vragen. Dit kan een groot aantal pakketten installeren, afhankelijk van de huidige configuratie van uw hostmachine.
  • Het script biedt geen opties om te specificeren welke versie van Docker moet worden geïnstalleerd, en installeert de nieuwste versie die wordt vrijgegeven in het “edge”-kanaal.
  • Gebruik het gemaksscript niet als Docker al op de hostmachine is geïnstalleerd met behulp van een ander mechanisme.

Dit voorbeeld gebruikt het script op get.docker.com om de nieuwste release van Docker Engine – Community op Linux te installeren. Om de laatste testversie te installeren, gebruik in plaats daarvan test.docker.com. Vervang in elk van de onderstaande commando’s get door test.

Waarschuwing:

Onderzoek altijd scripts die van het internet zijn gedownload voordat je ze lokaal uitvoert.

$ curl -fsSL https://get.docker.com -o get-docker.sh$ sudo sh get-docker.sh<...>

Als u Docker als niet-rootgebruiker wilt gebruiken, moet u overwegen uw gebruiker toe te voegen aan de groep “docker” met zoiets als:

$ sudo usermod -aG docker <your-user>

Houd eraan om uit te loggen en weer in te loggen om dit te laten werken!

Waarschuwing:

Door een gebruiker toe te voegen aan de groep “docker” krijgt deze de mogelijkheid om containers te draaien, wat kan worden gebruikt om rootprivileges te verkrijgen op de Docker host. ZieDocker Daemon Attack Surfacevoor meer informatie.

Docker Engine – Community is geïnstalleerd. Het start automatisch op DEB-gebaseerde distributies. OpRPM-gebaseerde distributies, moet u het handmatig starten met het juistesystemctl of service commando. Zoals het bericht aangeeft, kunnen niet-root gebruikers standaard geen Docker commando’s uitvoeren.

Note:

Om Docker te installeren zonder root privileges, zieRun de Docker daemon als een niet-root gebruiker (Rootless mode).

Upgrade Docker na gebruik van het gemaksscript

Als u Docker hebt geïnstalleerd met het gemaksscript, moet u Docker direct upgraden met uw pakketbeheerder. Er is geen voordeel aan het opnieuw uitvoeren van het gemakscript, en het kan problemen veroorzaken als het probeert om repositories opnieuw toe te voegen die al zijn toegevoegd aan de hostmachine.

Docker Engine verwijderen

  1. De Docker Engine, CLI, en Containerd pakketten verwijderen:

    $ sudo yum remove docker-ce docker-ce-cli containerd.io
  2. Images, containers, volumes, of aangepaste configuratiebestanden op uw host worden niet automatisch verwijderd. Als u alle images, containers en volumes wilt verwijderen:
    $ sudo rm -rf /var/lib/docker$ sudo rm -rf /var/lib/containerd

U moet alle bewerkte configuratiebestanden handmatig verwijderen.

  • Ga verder naar Post-installatiestappen voor Linux.
  • Bekijk de onderwerpen in Ontwikkelen met Docker om te leren hoe u nieuwe toepassingen kunt bouwen met Docker.

vereisten, apt, installatie, centos, rpm, installeren, verwijderen, upgraden, bijwerken

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *