Introduzione
La nuova release CentOS 8 ha introdotto molti elementi innovativi rispetto al suo predecessore. Il nostro recente articolo fornisce un'analisi approfondita delle funzionalità nuove e migliorate di CentOS 8.
Un cambiamento significativo è la decisione di non fornire più il supporto ufficiale per Docker. Invece, RHE ha deciso di introdurre strumenti integrati per la creazione e la gestione delle immagini dei container:buildah e podman. Questi strumenti sono compatibili con Docker ma non richiedono un'architettura server/client per essere eseguiti.
Nel caso in cui non sei ancora pronto per utilizzare questi nuovi strumenti, questo tutorial spiegherà come installare Docker su CentOS 8.
Prerequisiti
- Un'installazione funzionante di CentOS 8
- Un account utente con privilegi sudo
- Accesso al terminale
- Programma di installazione del pacchetto software DNF (incluso per impostazione predefinita in CentOS 8)
- Il gestore firewalld disabilitato
Importante: La disabilitazione delle funzionalità di sicurezza critiche non è incoraggiata. Tuttavia, il firewalld
manager in CentOS 8 impedisce la risoluzione DNS all'interno dei contenitori Docker. Questo tutorial contiene istruzioni su come disable firewalld
.
Aggiungi Docker Repository utilizzando DNF
CentOS 8 utilizza la versione del gestore pacchetti YUM v4.0.4. Questa versione ora utilizza DNF (Dandificato YUM).
DNF è un gestore di pacchetti software. Installa, esegue aggiornamenti e rimuove i pacchetti sulle distribuzioni Linux.
Usa DNF per aggiungere e abilitare il repository ufficiale di Docker CE. Digita il seguente comando nella finestra del tuo terminale:
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Il sistema ti informa che ha recuperato correttamente il repository.
sudo dnf repolist -v
Le informazioni sullo schermo forniscono tutti i dettagli rilevanti.
Per elencare tutti i pacchetti docker-ce disponibili, digita:
dnf list docker-ce --showduplicates | sort -r
Sfortunatamente, CentOS 8 non supporta versioni specifiche di container.id pacchetto. Ciò significa che solo alcune versioni di docker-ce sono disponibili per l'installazione.
Esistono due modi per risolvere questo problema e installare Docker su CentOS 8.
Installa Docker CE su CentOS 8
Opzione 1:salta i pacchetti con dipendenze interrotte
Una soluzione efficiente è consentire al tuo sistema CentOS 8 di installare la versione che soddisfa meglio i criteri, utilizzando il --nobest
comando:
sudo dnf install docker-ce --nobest
L'installazione ignora gli ultimi candidati e installa la versione più appropriata con il containerd.io richiesto pacchetti.
Dopo aver confermato inserendo y , il sistema procede all'installazione di Docker CE 18.06.3.ce-3.el7.
Se guardi da vicino, vedrai che l'installazione ha saltato l'ultima versione di docker-ce in quanto non soddisfaceva i criteri.
Opzione 2:installa il pacchetto containerd.io manualmente
Un'altra opzione per installare Docker su CenOS 8 consiste nell'installare containerd.io imballare manualmente, in anticipo. Questa soluzione alternativa ti consente di installare la versione più recente di docker-ce versione.
Usa il seguente comando:
sudo dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.10-3.2.el7.x86_64.rpm
Conferma l'installazione con y . Hai installato con successo l'ultima versione di containerd.io .
Ora possiamo procedere all'installazione dell'ultima versione di docker-ce con un semplice comando:
sudo dnf install docker-ce -y
L'output seguente conferma che docker-ce-3:19.03.5-3.el7.x86_64 è stato installato correttamente.
Avvia e prova Docker
Abilita Docker
Abilita e avvia il servizio Docker con:
sudo systemctl enable --now docker
L'output conferma che abbiamo creato un collegamento simbolico.
Quindi, usa questo breve comando per confermare che Docker sia attivo e in esecuzione:
systemctl status docker
Vediamo il timestamp e confermiamo che Docker è attivo.
Aggiungi utente al gruppo utenti Docker
Aggiungi il tuo utente al gruppo Docker con il seguente comando:
sudo usermod -aG docker $USER
id $USER
Il sistema esegue i comandi.
Disabilita firewall su CentOS 8
Come accennato in precedenza, è necessario disabilitare firewalld affinché la risoluzione DNS all'interno dei contenitori Docker funzioni.
Basta un semplice comando per disabilitare il firewall in CentOS 8:
sudo systemctl disable firewalld
L'output conferma che il servizio è stato disattivato.
A questo punto, si consiglia di riavviare il sistema affinché la modifica abbia effetto.
Test dell'installazione Docker tramite l'estrazione dell'immagine del contenitore di prova
Scarica un piccolo alpino immagine del contenitore docker per testare l'installazione:
docker pull alpine
Il sistema scarica l'ultima versione dell'immagine.
Verifica se l'immagine è disponibile:
docker images
Il sistema elenca le tue immagini Docker:
Avvia immagine contenitore alpino
Utilizza Docker per eseguire il contenitore con l'immagine scaricata e prova a eseguire un semplice apk update
:
docker run -it --rm alpine /bin/sh
/# apk update
L'output conferma che il contenitore è stato avviato.
Hai installato e configurato correttamente Docker su CentOS 8.