Tempo di lettura stimato: 10 minuti
Per iniziare con Docker Engine su CentOS, assicurati di soddisfare i prerequisiti, poi installa Docker.
Prequisiti
Requisiti del sistema operativo
Per installare Docker Engine, è necessaria una versione mantenuta di CentOS 7 o 8. Le versioni archiviate non sono supportate o testate.
Il repository centos-extras
deve essere abilitato. Questo repository è abilitato di default, ma se lo avete disabilitato, dovete ri-abilitarlo.
Il overlay2
storage driver è raccomandato.
Disinstallare le vecchie versioni
Le vecchie versioni di Docker erano chiamate docker
o docker-engine
. Se questi sono installati, disinstallali, insieme alle dipendenze associate.
$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
Va bene se yum
riporta che nessuno di questi pacchetti è installato.
Il contenuto di /var/lib/docker/
, incluse immagini, contenitori, volumi e reti, sono conservati. Il pacchetto Docker Engine è ora chiamato docker-ce
.
Metodi di installazione
È possibile installare Docker Engine in diversi modi, a seconda delle proprie esigenze:
-
La maggior parte degli utenti imposta i repository di Docker e installa da essi, per facilitare le attività di installazione e aggiornamento. Questo è l’approccio consigliato.
-
Alcuni utenti scaricano il pacchetto RPM e lo installano manualmente e gestiscono gli aggiornamenti in modo completamente manuale. Questo è utile in situazioni come l’installazione di Docker su sistemi air-gapped senza accesso a internet.
-
In ambienti di test e sviluppo, alcuni utenti scelgono di usare script automatici per installare Docker.
Installare usando il repository
Prima di installare Docker Engine per la prima volta su una nuova macchina host, è necessario impostare il repository Docker. In seguito, puoi installare e aggiornare Docker dal repository.
Imposta il repository
Installa il pacchetto yum-utils
(che fornisce l’yum-config-manager
utilità) e imposta il repository stabile.
$ sudo yum install -y yum-utils$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
Opzionale: Abilitare i repository notturni o di test.
Questi repository sono inclusi nel file
docker.repo
di cui sopra ma sono disabilitati per default. Puoi abilitarli insieme al repository stabile. Il seguente comando abilita il repository notturno.$ sudo yum-config-manager --enable docker-ce-nightly
Per abilitare il canale di test, eseguire il seguente comando:
$ sudo yum-config-manager --enable docker-ce-test
Puoi disabilitare il repository notturno o di test eseguendo il comando
yum-config-manager
con il flag--disable
. Per riattivarlo, utilizzare il flag--enable
. Il seguente comando disabilita il repository notturno.$ sudo yum-config-manager --disable docker-ce-nightly
Impara i canali notturni e di test.
Installare il Docker Engine
Installare l’ultima versione di Docker Engine e containerd, o andare al passo successivo per installare una versione specifica:
$ sudo yum install docker-ce docker-ce-cli containerd.io
Se viene richiesto di accettare la chiave GPG, verificare che l’impronta digitale corrisponda
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
, e in tal caso, accettarla.Hai più repository Docker?
Se hai più repository Docker abilitati, installando o aggiornando senza specificare una versione nel comando
yum install
oyum update
si installa sempre la versione più alta possibile, che potrebbe non essere adatta alle tue esigenze di stabilità.Docker è installato ma non avviato. Il gruppo
docker
viene creato, ma nessun utente viene aggiunto al gruppo.Per installare una versione specifica di Docker Engine, elencare le versioni disponibili nel repo, quindi selezionare e installare:
a. Elenca e ordina le versioni disponibili nel tuo repo. Questo esempio ordina i risultati per numero di versione, dalla più alta alla più bassa, ed è troncato:
$ 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
L’elenco restituito dipende da quali repository sono abilitati, ed è specifico della tua versione di CentOS (indicata dal suffisso
.el7
in questo esempio).b. Installare una versione specifica attraverso il suo nome del pacchetto pienamente qualificato, che è il nome del pacchetto (
docker-ce
) più la stringa della versione (2a colonna) a partire dai primi due punti (:
), fino al primo trattino, separati da un trattino (-
). Per esempio,docker-ce-18.09.1
.$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
Docker è installato ma non avviato. Il gruppo
docker
viene creato, ma nessun utente viene aggiunto al gruppo.Avvia Docker.
$ sudo systemctl start docker
Verificare che Docker Engine sia installato correttamente eseguendo l’immagine
hello-world
.$ sudo docker run hello-world
Questo comando scarica un’immagine di prova e la esegue in un contenitore. Quando il contenitore viene eseguito, stampa un messaggio informativo ed esce.
Docker Engine è installato e funzionante. È necessario utilizzare
sudo
per eseguire Dockercommands. Continuare a Linux postinstallazione per consentire agli utenti privilegiati di eseguire i comandi Docker e per altri passi di configurazione opzionali.Aggiornare Docker Engine
Per aggiornare Docker Engine, seguire le istruzioni di installazione, scegliendo la nuova versione che si desidera installare.
Installare da un pacchetto
Se non puoi usare il repository di Docker per installare Docker, puoi scaricare il
.rpm
file per la tua release e installarlo manualmente. Devi scaricare un nuovo file ogni volta che vuoi aggiornare il Docker Engine.
Vai su https://download.docker.com/linux/centos/and scegli la tua versione di CentOS. Poi vai su
x86_64/stable/Packages/
e scarica il file.rpm
per la versione di Docker che vuoi installare.Nota: Per installare un pacchetto nightly o test (pre-release), cambia la parola
stable
nell’URL di cui sopra innightly
otest
.Scopri i canali notturni e di test.Installare il Docker Engine, cambiando il percorso sotto al percorso in cui hai scaricato il pacchetto Docker.
$ sudo yum install /path/to/package.rpm
Docker è installato ma non avviato. Il gruppo
docker
viene creato, ma al gruppo non vengono aggiunti nousers.Avvia Docker.
$ sudo systemctl start docker
Verificare che Docker Engine sia installato correttamente eseguendo l’immagine
hello-world
.$ sudo docker run hello-world
Questo comando scarica un’immagine di prova e la esegue in un contenitore. Quando il contenitore viene eseguito, stampa un messaggio informativo ed esce.
Docker Engine è installato e funzionante. È necessario utilizzare
sudo
per eseguire i comandi di Docker.Continua a Passi successivi all’installazione di Linux per permettere agli utenti con privilegi di eseguire i comandi di Docker e per altri passi di configurazione opzionali.Aggiornare Docker Engine
Per aggiornare Docker Engine, scaricare il file del pacchetto più recente e ripetere la procedura di installazione, usando
yum -y upgrade
invece diyum -y install
, e puntando al nuovo file.Installare usando lo script di convenienza
Docker fornisce script di convenienza a get.docker.comand test.docker.com per installare versioni edge e di test di Docker Engine – Community in ambienti di sviluppo rapidamente e in modo non interattivo. L’uso di questi script non è raccomandato per gli ambienti di produzione, e dovreste comprendere i potenziali rischi prima di usarli:
- Gli script richiedono
root
osudo
privilegi per essere eseguiti. Pertanto, dovreste esaminare e controllare attentamente gli script prima di eseguirli.- Gli script tentano di rilevare la vostra distribuzione e versione di Linux e di configurare il vostro sistema di gestione dei pacchetti per voi. Inoltre, gli script non vi permettono di personalizzare alcun parametro di installazione. Questo può portare a una configurazione non supportata, sia dal punto di vista di Docker che dalle linee guida e dagli standard della tua organizzazione.
- Gli script installano tutte le dipendenze e le raccomandazioni del packagemanager senza chiedere conferma. Questo può installare un gran numero di pacchetti, a seconda della configurazione corrente della vostra macchina host.
- Lo script non fornisce opzioni per specificare quale versione di Docker installare, e installa l’ultima versione che viene rilasciata nel canale “edge”.
- Non usare lo script di convenienza se Docker è già stato installato sulla macchina host usando un altro meccanismo.
Questo esempio usa lo script su get.docker.com per installare l’ultima versione di Docker Engine – Community su Linux. Per installare l’ultima versione di prova, usa invece test.docker.com. In ognuno dei comandi sottostanti, sostituire ogni occorrenza di
get
contest
.Attenzione:
Esaminare sempre gli script scaricati da internet per poterli eseguire localmente.
$ curl -fsSL https://get.docker.com -o get-docker.sh$ sudo sh get-docker.sh<...>
Se si desidera utilizzare Docker come utente non root, si dovrebbe ora considerare di aggiungere il proprio utente al gruppo “docker” con qualcosa come:
$ sudo usermod -aG docker <your-user>
Ricordati di fare il logout e di rientrare perché questo abbia effetto!
Attenzione:
L’aggiunta di un utente al gruppo “docker” gli garantisce la capacità di eseguire i container, che può essere usata per ottenere i privilegi di root sull’host Docker. Fare riferimento aDocker Daemon Attack Surface per maggiori informazioni.
Docker Engine – Community è installato. Si avvia automaticamente sulle distribuzioni basate su
DEB
. SuRPM
distribuzioni basate, è necessario avviarlo manualmente utilizzando l’appositosystemctl
oservice
comando. Come indica il messaggio, gli utenti non-root non possono eseguire comandi Docker per impostazione predefinita.Nota:
Per installare Docker senza privilegi di root, vedereEseguire il demone Docker come utente non-root (modalità senza root).
Aggiorna Docker dopo aver usato lo script di convenienza
Se hai installato Docker usando lo script di convenienza, dovresti aggiornare Docker usando direttamente il tuo gestore di pacchetti. Non c’è alcun vantaggio nel rieseguire lo script di convenienza, e può causare problemi se tenta di aggiungere nuovamente i depositi che sono già stati aggiunti alla macchina ospite.
Disinstallare Docker Engine
Disinstallare i pacchetti Docker Engine, CLI e Containerd:
$ sudo yum remove docker-ce docker-ce-cli containerd.io
Immagini, contenitori, volumi o file di configurazione personalizzati sull’host non vengono rimossi automaticamente. Per eliminare tutte le immagini, i contenitori e i volumi:
$ sudo rm -rf /var/lib/docker$ sudo rm -rf /var/lib/containerd
È necessario eliminare manualmente qualsiasi file di configurazione modificato.
- Continuare con i passi successivi all’installazione di Linux.
- Rivedere gli argomenti in Sviluppare con Docker per imparare a costruire nuove applicazioni usando Docker.
requisiti, apt, installazione, centos, rpm, installare, disinstallare, aggiornare, update