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-manager
utility 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 het
yum-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
-
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 overeenkomt
060A 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. -
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 (-
). Bijvoorbeelddocker-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. -
Start Docker.
$ sudo systemctl start docker
- Verifieer of Docker Engine correct is geïnstalleerd door de
hello-world
image 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.
-
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 innightly
oftest
.Meer informatie over nachtelijke en testkanalen. - 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. -
Start Docker.
$ sudo systemctl start docker
- Verifieer dat Docker Engine correct is geïnstalleerd door de
hello-world
image 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 upgrade
in 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
ofsudo
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
-
De Docker Engine, CLI, en Containerd pakketten verwijderen:
$ sudo yum remove docker-ce docker-ce-cli containerd.io
- 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