Docker CE er officielt ikke understøttet på Red Hat Enterprise Linux (RHEL) 8 eller CentOS 8. Red Hat’s officielt anbefalede måde at administrere containere på RHEL 8 og CentOS 8 er Podman. Podman er grundlæggende en erstatning for Docker på RHEL 8 og CentOS 8. Docker-images er dog kompatible med Podman. Så det bør ikke være alt for svært at flytte til Podman.

Og som helst handler denne artikel ikke om Podman. Den handler om at få Docker installeret på CentOS 8. Hvis du virkelig ikke ønsker at skifte til Podman og fortsat vil bruge Docker på din RHEL 8- eller CentOS 8-maskine, så er denne artikel for dig.

BEMÆRK: Hvis du vil bruge Docker på en produktionsmaskine, så anbefaler jeg, at du ikke opgraderer til CentOS 8/RHEL 8. Fortsæt med at bruge CentOS 7/RHEL 7, indtil Docker har officiel understøttelse for RHEL 8 og CentOS 8.

Installation af nødvendige værktøjer:

Først skal du opdatere CentOS 8-pakkerepositoriets cache med følgende kommando:

$ sudo dnf makecache

Installer nu alle de værktøjer, der kræves til installation af Docker CE, med følgende kommando:

$ sudo dnf install dnf-utils device-mapper-persistent-data lvm2
fuse-overlayfs wget

For at bekræfte installationen skal du trykke på Y og derefter trykke på <Enter>.

Alle de nødvendige værktøjer skulle være installeret.

Tilføjelse af Docker CE officielle pakkeregister:

Docker CE er ikke tilgængelig i det officielle pakkeregister for CentOS 8. Men du kan tilføje det officielle Docker CE-pakkearkiv på CentOS 8 og installere Docker derfra.

For at tilføje det officielle Docker CE-pakkearkiv skal du køre følgende kommando:

$ sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/
docker-ce.repo

Aktualiser nu CentOS 8-pakkerepositoriets cache med følgende kommando:

$ sudo dnf makecache

Installation af Containerd.io:

Den vigtigste inkompatibilitet med Docker CE på RHEL 8 og CentOS 8 er containerd.io-pakken. Docker CE afhænger af denne pakke, men RHEL 8 og CentOS 8 har officielt markeret disse pakker. Så du kan ikke installere den version af containerd.io-pakken, som Docker skal bruge for at fungere på RHEL 8 og CentOS 8, direkte ved hjælp af DNF- eller YUM-pakkehåndteringsprogrammerne.

Glædeligt nok kan vi manuelt downloade den nyeste version af containerd.io-pakken og installere den på CentOS 8.

Først skal du navigere til mappen /tmp på følgende måde:

$ cd /tmp

Den seneste version af containerd.io-pakken er 1.2.6-3.3 i skrivende stund. Du kan tjekke for en nyere version, når du læser denne artikel på https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

Nu kan du downloade den nyeste version af containerd.io-pakken fra det officielle CentOS 7-pakkearkiv for Docker CE med følgende kommando:

$ wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
containerd.io-1.2.6-3.3.el7.x86_64.rpm

Den nyeste version af containerd.io-pakke skal hentes.

Den seneste version af containerd.io RPM-pakkefilen skal være i mappen /tmp, som du kan se i skærmbilledet nedenfor.

$ ls -lh containerd.io*

Installer nu pakkefilen containerd.io-1.2.6.6-3.3.el7.x86_64.rpm ved hjælp af DNF-pakkehåndteringsprogrammet som følger:

$ sudo dnf localinstall ./containerd.io-1.2.6-3.6-3.3.el7.x86_64.rpm

For at bekræfte installationen skal du trykke på Y og derefter trykke på <Enter>.

Den nyeste version af containerd.io skulle være installeret.

Nu er du klar til at installere Docker CE på din CentOS 8-maskine.

Installation af Docker CE:

For at installere Docker CE på CentOS 8 fra det officielle Docker CE-pakkearkiv skal du køre følgende kommando:

$ sudo dnf install docker-ce docker-ce-cli

For at bekræfte installationen skal du trykke på Y og derefter trykke på <Enter>.

DNF-pakkehåndteringsprogrammet bør begynde at hente alle de nødvendige RPM-pakker fra Docker CE-pakkearkivet. Det kan tage et stykke tid at gennemføre.

På dette tidspunkt bør Docker CE være installeret.

Nu skal du kontrollere docker-tjenestens status med følgende kommando:

$ sudo systemctl status docker

Dockertjenesten kan være inaktiv (kører ikke) og deaktiveret (starter ikke automatisk ved opstart) som i mit tilfælde.

For at starte docker-tjenesten skal du køre følgende kommando:

$ sudo systemctl start docker

For at starte docker-tjenesten automatisk ved systemopstart skal du også tilføje docker-tjenesten til systemopstarten i CentOS 8 som følger:

$ sudo systemctl enable docker

Tjek nu status for docker-tjenesten igen.

$ sudo systemctl status docker

Dockertjenesten bør være aktiv (kører) og aktiveret (starter automatisk ved opstart af systemet).

Du vil ikke køre Docker-kommandoer med sudo eller som root-bruger. For at kunne køre Docker-kommandoer som din login-bruger skal du tilføje din login-bruger til docker-gruppen.

For at tilføje din login-bruger til docker-gruppen skal du køre følgende kommando:

$ sudo usermod -aG docker $(whoami)

Nu skal du genstarte din CentOS 8-maskine med følgende kommando:

$ sudo reboot

Når din CentOS 8-maskine er startet op, kan du kontrollere, om Docker fungerer med følgende kommando:

$ docker version

Som du kan se, kører jeg Docker CE 19.03.5. Docker Engine-klienten og -serveren fungerer også.

Nu skal vi prøve at køre hello-world Docker-containeren.

$ docker run hello-world

Som du kan se, hentede Docker hello-world-containeren fra internettet og kørte den med succes.

Så, det er sådan, du installerer Docker CE på CentOS 8. Tak fordi du læste denne artikel.

admin

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.

lg