Torna al blog

Installazione e configurazione di Docker su CentOS 7

Installazione e configurazione di Docker su CentOS 7

Introduzione

Docker è una piattaforma che rende più semplice l'esecuzione e la gestione dei processi applicativi nei container. Fornisce un modo per separare le tue applicazioni dalla tua infrastruttura. I container sono molto simili alle macchine virtuali, ma sono più portabili, efficienti e facili da usare. Esistono vari modi per installare Docker su Linux distribuzioni. Il modo più popolare e semplice per installare Docker sul sistema operativo esistente è utilizzare i comandi yum.

Questo tutorial dimostrerà come configurare e utilizzare Docker su CentOS 7 in pochi semplici passaggi.

Prerequisiti:

Tutti i comandi eseguiti in questo tutorial vengono eseguiti come utente non-root e, se necessario, l'accesso root verrà fornito utilizzando la parola chiave sudo.

Passaggio 1: Configurazione di Docker su un'istanza CentOS 7

Il repository ufficiale di CentOS 7 potrebbe non contenere l'ultimo pacchetto di installazione per Docker. In questa sezione installerai l'ultima versione di Docker dal repository ufficiale di Docker. Innanzitutto, devi aggiornare il database dei pacchetti utilizzando:

Al termine della fase di aggiornamento, esegui il comando seguente per scaricare e installare l'ultima versione di Docker:

Docker è ora installato, quindi puoi avviare il daemon Docker eseguendo il comando seguente:

Per verificare se il daemon Docker è in esecuzione, digita quanto segue:

L'output del comando systemctl status dovrebbe essere simile all'output condiviso di seguito, che mostra che è in esecuzione:

Infine, per assicurarti che Docker si avvii al riavvio della macchina, usa il comando:

L'installazione di Docker fornisce il servizio Docker e l'utilità client (client della riga di comando Docker). Nelle prossime sezioni del tutorial potrai fare più pratica utilizzando i comandi Docker.

Puoi anche dare un'occhiata al nostro tutorial approfondito su come installare & utilizzare Docker su Ubuntu nel cloud pubblico.

Passaggio 2: Utilizzo dei comandi Docker senza prefisso Sudo

I comandi Docker richiedono i privilegi di root per essere eseguiti. Pertanto, se desideri eseguire i comandi dovrai anteporre ad essi sudo. Durante l'installazione, viene creato un gruppo Docker per impostazione predefinita. Se aggiungi un utente al gruppo puoi eseguire i comandi Docker senza sudo. Il tentativo di eseguire i comandi Docker senza sudo o senza aggiungere l'utente al gruppo risulterà in un output simile a quello riportato di seguito:

Aggiungere il tuo nome utente al gruppo Docker ti assicurerà di non dover utilizzare sudo per eseguire i comandi Docker:

Per aggiungere un altro utente al gruppo Docker puoi semplicemente sostituire il nome utente nel comando:

Per il resto di questa guida, assumeremo che tutti i comandi siano eseguiti da un utente nel gruppo utenti Docker. In caso contrario, puoi utilizzare il prefisso sudo con i comandi.

Passo 3: Esecuzione dei comandi Docker

Ora che hai installato e avviato Docker, diamo un’occhiata ad alcuni comandi per familiarizzare con l'utilità della riga di comando di Docker. I comandi Docker di solito assumono la forma di:

Per trovare tutti i sottocomandi disponibili dovresti usare:

A partire da Docker 20.10.3, l'elenco completo dei sottocomandi disponibili include:

Puoi usare il flag –help con un comando specifico per ottenere maggiori informazioni al riguardo:

Per ottenere informazioni dettagliate sul sistema, usa:

Passo 4: Lavorare con le immagini Docker

Le immagini Docker possono essere definite come il modello per i container Docker. Queste immagini vengono solitamente scaricate dal Docker Hub, che è un registro gestito dal progetto Docker. Chiunque può creare e inviare le proprie immagini su Docker Hub. Di conseguenza, puoi trovare facilmente un'ampia varietà di applicazioni e distribuzioni di sistemi operativi nel registro. Proviamo un semplice programma che confermerà l'accesso a Docker Hub:

Dovresti ottenere un output come quello qui sotto, che mostra che Docker sta funzionando:

Puoi trovare varie immagini Docker su Docker Hub utilizzando il comando search. Ad esempio, vedi il comando seguente per cercare un'immagine CentOS:

La query di ricerca mostrerà un elenco di tutte le immagini che corrispondono alla sottostringa. Nel tuo caso l'output dovrebbe essere simile a:

Nei risultati della ricerca ci sono diverse colonne che descrivono le informazioni sull'immagine. L'OK nella colonna OFFICIAL determina che l'immagine è stata creata e supportata dall'azienda dietro l'applicazione. Una volta finalizzata l'immagine, puoi scaricarla sulla tua macchina locale usando il comando Docker pull:

Dopo aver scaricato l'immagine, puoi avviare il container usando il comando Docker run. Se provi ad avviare direttamente un'immagine senza averla prima scaricata, Docker scaricherà l'immagine e successivamente avvierà il container:

Puoi elencare le immagini scaricate sulla tua macchina locale utilizzando il comando seguente:

Dovresti ottenere un output simile:

Più avanti in questo tutorial, potrai modificare le immagini per eseguire i container. Queste nuove immagini possono essere aggiunte o caricate tramite push su Docker Hub e altri registri che ospitano le immagini Docker.

Passo 5: Eseguire un container in modo interattivo

Esistono diversi tipi di container. Il container hello-world che hai eseguito nel Passo 4 è un tipo di container che viene eseguito e termina dopo aver stampato un messaggio. Un altro tipo di container è quello interattivo. Puoi utilizzare i container interattivi in modo simile a una macchina virtuale.

Creiamo un container dall'ultima immagine CentOS. L'uso dei flag -i e -t nel comando Docker run fornirà l'accesso interattivo al container CentOS:

Il prompt dei comandi cambierà e dovrebbe apparire come l'output seguente:

Ora qualsiasi comando eseguito verrà eseguito all'interno del container. Questo è simile all'esecuzione di un comando in una macchina virtuale. Proviamo a installare MySQL server nel container CentOS. Puoi farlo usando:

Passo 6: Eseguire il commit delle modifiche in un container in un'immagine Docker

Dopo aver avviato il container, puoi eseguire tutte le operazioni che sono fattibili in una macchina virtuale simile, come creare/modificare i file o configurare un'app. Tieni presente che queste modifiche rimarranno solo per quel container e, dopo aver distrutto il container, le modifiche apportate andranno perse.

In questa parte del tutorial, imparerai come creare una nuova immagine Docker da un container con le modifiche che hai apportato. Dopo Step5 hai un container CentOS in esecuzione con il server MySQL installato. Questo container è ora diverso dall'immagine CentOS pulita. Puoi salvare questo stato del container per un uso successivo. Innanzitutto, devi uscire dal container utilizzando:

Esegui il commit delle modifiche apportate nel container in una nuova immagine Docker utilizzando il comando seguente:

Nel comando, -m si riferisce al messaggio di commit e dovrebbe fondamentalmente indicare le modifiche apportate, il tag -a viene utilizzato per menzionare l'autore. Il container-id è quello di Step5, che hai ottenuto dopo aver eseguito il container in modalità interattiva, e di solito il repository è il tuo nome utente per Docker Hub. Ad esempio:

Ora che è stato eseguito il commit dell'immagine, il comando Docker images dovrebbe elencare sia la nuova immagine che quelle vecchie:

L'output del comando dovrebbe essere simile al seguente:

Come si vede nell'esempio, viene creata una nuova immagine centos-mysql utilizzando l'immagine CentOS da Docker Hub. La differenza di dimensioni determina che sono state apportate alcune modifiche. In questo esempio, si è trattato dell'aggiunta del server MySQL nel container. La prossima volta che avrai bisogno di un container con un server MySQL, potrai semplicemente eseguire la nuova immagine, e voilà! Avrai un container CentOS con un server MySQL preinstallato in esecuzione.

Passo 7: Gestione dei container Docker

Ora che hai familiarità con Docker, dopo averlo usato per un po' di tempo avrai già alcuni container in esecuzione e altri inattivi. Per ottenere l'elenco dei container attivi dovresti usare:

Dovresti vedere un output simile:

Per elencare sia i container attivi che quelli inattivi, devi utilizzare il flag -a con il comando:

Per trovare l'ultimo container creato, puoi fornire il flag -l:

Per arrestare un container in esecuzione/attivo, esegui un semplice comando:

Puoi trovare il container-id nell'output del comando Docker ps.

Fase 8: Pubblicazione delle immagini in un repository

Il passo successivo dopo la creazione della nuova immagine consiste nel condividerla con i tuoi amici. Puoi anche renderla disponibile per tutto il mondo utilizzando Docker Hub o qualsiasi altro registro. È necessario effettuare l'accesso al rispettivo registro prima di inviare l'immagine.

Nella prossima parte del tutorial, imparerai come inviare le immagini a Docker Hub. Innanzitutto, registrati su Docker Hub. Dovrai accedere a Docker Hub per inviare la tua immagine utilizzando il comando seguente:

Una volta fornita la password corretta e l'autenticazione è andata a buon fine, puoi inviare la tua immagine. Per inviare l'immagine, usa il comando seguente:

L'output del comando sarà simile a questo:

Una volta inviata l'immagine, dovrebbe apparire nella dashboard del tuo account, come mostrato nell'immagine qui sotto:

docker account dashboard

In caso di errore simile, è probabile che tu non abbia effettuato l'accesso:

Puoi effettuare l'accesso e ripetere il tentativo di push.

Conclusione

Ci sono diversi modi in cui puoi utilizzare Docker. Questo tutorial dovrebbe fornirti informazioni sufficienti per iniziare. E poiché Docker è un progetto di grande tendenza, puoi trovare molti dettagli sull'utilizzo e sui diversi casi d'uso nella pagina del blog del progetto.

Puoi anche dare un'occhiata agli altri nostri tutorial su Docker per saperne di più su cosa puoi fare con Docker:

Buon computing!

author

Pranay Kapgate

Autore · CloudSigma

Preslav Dobrev è un designer creativo presso CloudSigma, con un focus su un'identità aziendale coerente attraverso l'uso di canali di marketing tradizionali e innovativi. È abile nel fondere la visione artistica con il marketing strategico per creare narrazioni di brand di grande impatto.

Commenti

Ancora nessun commento. Scrivi il primo.