Installeer Docker en Compose op CentOS 8 | RHEL 8
In deze gids lopen we je door de stappen voor het installeren van Docker CE op CentOS 8 | RHEL 8. We zullen ook behandelen hoe je Docker Compose kunt installeren op RHEL 8/CentOS 8 Linux. Docker wordt niet officieel ondersteund op RHEL 8, omdat het is vervangen door Red Hat-tools – buildah en podman. Je kunt meer leren over de nieuwe functies die zijn geïntroduceerd in de release van RHEL 8 Linux.
- Red Hat Enterprise Linux 8 (RHEL 8) Nieuwe functies en beoordeling
Maar wat als je elke dag Docker gebruikt en niet meteen kunt overstappen naar buildah en podman? Geen zorgen, want er is een manier om Docker en Docker Compose te installeren op RHEL 8/CentOS 8. Docker is een tool waarmee je je applicaties in containers kunt creëren, implementeren en uitvoeren. Containers stellen een ontwikkelaar in staat om een applicatie met zijn afhankelijkheden te verpakken en als één pakket te verzenden. Containers worden vaak gebruikt in microservices-omgevingen.
Docker-componenten/Terminologieën
Er is een aantal Docker-specifieke jargon dat we moeten verduidelijken voordat we ingaan op installatie- en gebruiksvoorbeelden. Hieronder staan veelgebruikte terminologieën binnen het Docker-ecosysteem.
- Docker-daemon: Dit wordt ook Docker Engine genoemd, het is een achtergrondproces dat draait op het host-systeem en verantwoordelijk is voor het bouwen en uitvoeren van containers.
- Docker Client: Dit is een commandoregeltool die door de gebruiker wordt gebruikt om met de Docker-daemon te communiceren.
- Docker Image: Een image is een onveranderlijk bestand dat in wezen een momentopname van een container is. Een docker image heeft een bestandssysteem en toepassing afhankelijkheden die nodig zijn voor het uitvoeren van applicaties.
- Docker-container: Dit is een lopende instantie van een docker-image met een applicatie en de bijbehorende afhankelijkheden. Elke container heeft een uniek proces-ID en is geïsoleerd van andere containers. Het enige dat containers delen, is de kernel.
- Docker-register: Dit is een applicatie die verantwoordelijk is voor het beheren van de opslag en levering van Docker-containerafbeeldingen. Het kan privé of openbaar zijn.
Installeer Docker CE op CentOS 8 | RHEL 8
Tot nu toe hebben we de introductie van Docker en de terminologieën behandeld. We zouden klaar moeten zijn om Docker CE te installeren op RHEL 8/CentOS 8. We beginnen met de installatie van Docker en vervolgens Docker Compose.
Er zijn twee edities van Docker beschikbaar.
- Community Edition (CE): ideaal voor individuele ontwikkelaars en kleine teams die willen beginnen met Docker en willen experimenteren met op containers gebaseerde apps.
- Enterprise Edition (EE): Ontworpen voor bedrijfsontwikkeling en IT-teams die bedrijfskritische toepassingen op grote schaal ontwikkelen, implementeren en beheren in productie.
De Docker Enterprise Edition vereist een actieve licentie om te gebruiken. In deze gids zullen we Docker CE installeren op RHEL 8. Laten we eerst de Docker-repository toevoegen voordat we het kunnen installeren.
### CentOS 8 ###
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
### RHEL 8 ###
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repoDit commando zal het Docker-repositorybestand downloaden naar /etc/yum.repos.d/docker-ce.repo. Laten we de RPM-indexcache bijwerken.
### CentOS 8 ###
$ sudo yum makecache
CentOS Linux 8 - AppStream 23 kB/s | 4.3 kB 00:00
CentOS Linux 8 - BaseOS 20 kB/s | 3.9 kB 00:00
CentOS Linux 8 - Extras 9.2 kB/s | 1.5 kB 00:00
Docker CE Stable - x86_64 291 kB/s | 19 kB 00:00
DigitalOcean Droplet Agent 51 kB/s | 3.3 kB 00:00
Metadata cache created.
### RHEL 8 ###
$ sudo yum makecache
Updating Subscription Management repositories.
Docker CE Stable - x86_64 14 kB/s | 3.8 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) 33 kB/s | 2.8 kB 00:00
Red Hat Ansible Engine 2.8 for RHEL 8 x86_64 (RPMs) 29 kB/s | 2.4 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 30 kB/s | 2.4 kB 00:00
Red Hat Satellite Tools 6.6 for RHEL 8 x86_64 (RPMs) 29 kB/s | 2.1 kB 00:00
Metadata cache created.
Het kan nodig zijn om alle oudere versies van Docker samen met de bijbehorende afhankelijkheden te verwijderen. Verwijder ook Podman en de bijbehorende afhankelijkheden als deze al geïnstalleerd zijn.
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine \
podman \
runcInstalleer tot slot Docker CE door het onderstaande commando in uw terminal uit te voeren.
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginAls je afhankelijkheidsproblemen met Podman krijgt, sta dan toe om te verwijderen.
sudo yum install docker-ce --allowerasingGa akkoord om te installeren door op de y-toets op je toetsenbord te drukken:
...
Transaction Summary
================================================================================================================================================================================================
Install 12 Packages
Total download size: 93 M
Installed size: 389 M
Is this ok [y/N]: yImporteer ook de GPG-sleutel.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 51 MB/s | 93 MB 00:01
Docker CE Stable - x86_64 44 kB/s | 1.6 kB 00:00
Importing GPG key 0x621E9F35:
Userid : "Docker Release (CE rpm) <[email >"
Fingerprint: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
From : https://download.docker.com/linux/centos/gpg
Is this ok [y/N]: yStart en schakel de Docker-service in om bij het opstarten te starten.
$ sudo systemctl enable --now docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.De status van de docker-service zou moeten aangeven dat deze actief is.
$ systemctl status dockerDe docker-groep is aangemaakt, maar er zijn geen gebruikers aan de groep toegevoegd. Voeg je gebruiker toe aan deze groep om docker-commando's uit te voeren zonder sudo.
$ sudo usermod -aG docker $USER
$ newgrp docker
$ id $USER
uid=1000(jmutai) gid=1000(jmutai) groups=1000(jmutai),10(wheel),984(docker)
Log uit en log opnieuw in om Docker zonder sudo te gebruiken. De geïnstalleerde versie van Docker kan worden gecontroleerd met:
docker versionDocker-image ophalen
De laatste stap is om je installatie te testen door een test-dockercontainer te downloaden.
$ docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
8e402f1a9c57: Pull complete
Digest: sha256:644fcb1a676b5165371437feaa922943aaf7afcfa8bfee4472f6860aad1ef2a0
Status: Downloaded newer image for alpine:latest
$ docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latestGedownloade afbeeldingen weergeven.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest 5cb3aa00f899 2 days ago 5.53MB
hello-world latest fce289e99eb9 2 months ago 1.84kBControleer of Docker CE correct werkt door de Alpine-container te draaien vanaf de gedownloade afbeelding.
$ docker run -it --rm alpine /bin/sh
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.15/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz
v3.15.4-87-g89e29fdace [http://dl-cdn.alpinelinux.org/alpine/v3.15/main]
v3.15.4-87-g89e29fdace [http://dl-cdn.alpinelinux.org/alpine/v3.15/community]
OK: 9754 distinct packages available
/ # exitHallo wereld container uitvoeren
$ docker run -it --rm hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/Installeer Docker Compose op CentOS 8 | CentOS 8
We hebben Docker geïnstalleerd en draaiend, laten we nu overschakelen naar Docker Compose. Docker Compose is een hulpmiddel dat wordt gebruikt om multi-container Docker-toepassingen te definiëren en uit te voeren.
De applicatiediensten worden geconfigureerd met een Compose-bestand. In tegenstelling tot het uitvoeren van docker-commando's is slechts één commando nodig om alle diensten uit je configuratie te maken en te starten. Docker Compose is een geweldig hulpmiddel voor ontwikkel-, test- en stagingomgevingen, evenals voor CI-workflows.
Volg onze aparte gids over het installeren van de nieuwste Docker Compose op Linux.
- Installeer Docker Compose op Linux
Om deze gids beknopt te houden, zullen we niet ingaan op het gebruik van Docker Compose. Ik raad je aan de officiële Docker-documentatie en de Docker Compose-documentatie door te nemen om meer te leren.
Installeer Docker UI – Optioneel
Als je een Docker-beheerinterface nodig hebt waarmee je eenvoudig je verschillende Docker-hosts en containers kunt beheren, probeer dan Portainer. Het is gemakkelijk te installeren en te gebruiken.
- Hoe Portainer Docker UI-manager te installeren
Docker-containers monitoren
Het monitoren van Docker-containers kan worden bereikt door gebruik te maken van monitoringtools zoals Netdata, Ctop, of Prometheus en Grafana. De onderstaande handleidingen zouden nuttig moeten zijn.
- Ctop – Top-commando voor containermetrics
- Hoe Netdata te installeren op RHEL 8/CentOS 8
- Installeer Harbor Docker-register op Linux