Docker CE stöds officiellt inte av Red Hat Enterprise Linux (RHEL) 8 eller CentOS 8. Det av Red Hat officiellt rekommenderade sättet att hantera containrar på RHEL 8 och CentOS 8 är Podman. Podman är i princip en ersättning för Docker på RHEL 8 och CentOS 8. Docker-avbildningar är dock kompatibla med Podman. Så att flytta till Podman borde inte vara alltför svårt.

Den här artikeln handlar dock inte om Podman. Den handlar om att få Docker installerat på CentOS 8. Om du verkligen inte vill byta till Podman och fortsätta använda Docker på din RHEL 8- eller CentOS 8-maskin är den här artikeln för dig.

OBS: Om du ska använda Docker på en produktionsmaskin rekommenderar jag att du inte uppgraderar till CentOS 8/RHEL 8. Fortsätt att använda CentOS 7/RHEL 7 tills Docker har officiellt stöd för RHEL 8 och CentOS 8.

Installation av nödvändiga verktyg:

Först uppdaterar du cacheminnet i CentOS 8-paketförrådet med följande kommando:

$ sudo dnf makecache

Installera nu alla verktyg som krävs för installation av Docker CE med följande kommando:

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

För att bekräfta installationen trycker du på Y och sedan på <Enter>.

Alla nödvändiga verktyg bör vara installerade.

Att lägga till Docker CE Official Package Repository:

Docker CE finns inte i det officiella paketförrådet för CentOS 8. Men du kan lägga till det officiella Docker CE-paketförrådet i CentOS 8 och installera Docker därifrån.

För att lägga till det officiella Docker CE-paketförrådet kör du följande kommando:

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

Nu uppdaterar du CentOS 8-paketförvarets cache med följande kommando:

$ sudo dnf makecache

Installation av Containerd.io:

Den största inkompatibiliteten för Docker CE på RHEL 8 och CentOS 8 är containerd.io-paketet. Docker CE är beroende av det paketet, men RHEL 8 och CentOS 8 flaggade officiellt dessa paket. Så du kan inte installera den version av containerd.io-paketet som Docker behöver för att fungera på RHEL 8 och CentOS 8 direkt med hjälp av pakethanterarna DNF eller YUM.

Turligtvis kan vi manuellt hämta den senaste versionen av containerd.io-paketet och installera det på CentOS 8.

Först navigerar vi till katalogen /tmp på följande sätt:

$ cd /tmp

Den senaste versionen av containerd.io-paketet är 1.2.6-3.3 när detta skrivs. Du kan kontrollera om det finns en senare version när du läser den här artikeln på https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

Hämta nu den senaste versionen av containerd.io-paketet från det officiella CentOS 7-paketförrådet för Docker CE med följande 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 senaste versionen av containerd.io-paketet bör hämtas.

Den senaste versionen av containerd.io RPM-paketfilen bör finnas i katalogen /tmp som du kan se i skärmdumpen nedan.

$ ls -lh containerd.io*

Installera nu paketfilen containerd.io-1.2.6-3.3.el7.x86_64.rpm med hjälp av DNF-pakethanteraren på följande sätt:

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

För att bekräfta installationen trycker du på Y och sedan på <Enter>.

Den senaste versionen av containerd.io bör vara installerad.

Nu är du redo att installera Docker CE på din CentOS 8-maskin.

Installation av Docker CE:

För att installera Docker CE på CentOS 8 från det officiella Docker CE-paketförrådet kör du följande kommando:

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

För att bekräfta installationen trycker du på Y och sedan på <Enter>.

Pakethanteraren DNF bör börja hämta alla nödvändiga RPM-paket från Docker CE-paketförrådet. Det kan ta ett tag att slutföra.

När det här är klart bör Docker CE vara installerat.

Kontrollera nu docker-tjänstens status med följande kommando:

$ sudo systemctl status docker

Dockertjänsten kan vara inaktiv (körs inte) och inaktiverad (startar inte automatiskt vid uppstart) som i mitt fall.

För att starta docker-tjänsten kör du följande kommando:

$ sudo systemctl start docker

För att automatiskt starta docker-tjänsten vid uppstart av systemet lägger du också till docker-tjänsten till systemstarten i CentOS 8 enligt följande:

$ sudo systemctl enable docker

Nu kan du kontrollera statusen för docker-tjänsten igen.

$ sudo systemctl status docker

Dockertjänsten bör vara aktiv (körs) och aktiverad (startar automatiskt vid uppstart av systemet).

Du vill inte köra Docker-kommandon med sudo eller som rootanvändare. För att kunna köra Docker-kommandon som din inloggningsanvändare måste du lägga till din inloggningsanvändare i gruppen docker.

För att lägga till din inloggningsanvändare i docker-gruppen kör du följande kommando:

$ sudo usermod -aG docker $(whoami)

Nu startar du om din CentOS 8-maskin med följande kommando:

$ sudo reboot

När din CentOS 8-maskin har startat upp kan du kontrollera om Docker fungerar med följande kommando:

$ docker version

Som du kan se kör jag Docker CE 19.03.5. Docker Engine klient och server fungerar också.

Nu ska vi försöka köra hello-world Docker-containern.

$ docker run hello-world

Som du kan se hämtade Docker hello-world-containern från internet och körde den framgångsrikt.

Så, det är så du installerar Docker CE på CentOS 8. Tack för att du läste den här artikeln.

admin

Lämna ett svar

Din e-postadress kommer inte publiceras.

lg