Docker è uno strumento open source progettato per semplificare la creazione, la creazione e l'esecuzione di applicazioni utilizzando i container. I container Docker fungono da runtime e possiedono tutte le dipendenze e le librerie necessarie in modo che le stesse applicazioni possano essere eseguite anche in altri sistemi operativi. Al giorno d'oggi le applicazioni basate su container sono ampiamente utilizzate. Per risparmiare tempo e fatica, per eseguire applicazioni senza problemi in tutte le piattaforme OS, i container Docker sono ampiamente adottati. In questo articolo impareremo come installare Docker in Ubuntu 20.04 ed eseguire il contenitore Nginx.
L'installazione di Docker in Ubuntu 20.04 è un processo semplice e diretto. Dobbiamo aggiornare il repository Docker in Ubuntu, ottenere la chiave GPG e installare pacchetti e dipendenze Docker.
Prerequisiti
- Ubuntu 20.04 appena installato
- Account sudo privilegiati per installare i pacchetti.
Installa Docker in Ubuntu
Puoi installare l'ultima versione di Docker utilizzando il repository docker ufficiale in Ubuntu 20.04. Per questo, devi aggiungere la chiave GPG per il repository Docker ufficiale al tuo sistema e aggiungere la configurazione del repository al sorgente APT.
Scarica la chiave GPG Docker
Esegui il comando seguente per aggiungere la chiave GPG.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Aggiungi la chiave GPG Docker al repository di sistema
Aggiungi e configura il repository docker ufficiale nel tuo sistema.
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Aggiorna repository di sistema
Ora, aggiorna il pacchetto APT per includere nuovi pacchetti Docker usando il seguente comando:
$ sudo apt update
Installa Docker
Ora puoi installare i pacchetti docker usando il seguente comando:
$ sudo apt install docker-ce
Durante l'installazione dei pacchetti docker, il pacchetto di installazione attiva systemd per abilitare e avviare automaticamente il server docker. Utilizzare il comando seguente per controllare lo stato del servizio Docker.
Verifica stato Docker
Per verificare che il servizio Docker sia attivo o meno, esegui il comando seguente:
$ sudo systemctl is-active docker
Per verificare se il servizio Docker è abilitato o meno, esegui il comando seguente.
$ sudo systemctl is-enabled docker
Per controllare lo stato del servizio Docker, esegui il comando seguente:
$ sudo systemctl status docker
Arresta, avvia o riavvia Docker
Sono disponibili altri comandi systemctl per controllare i servizi docker che sono i seguenti
$ sudo systemctl stop docker # stop docker service
$ sudo systemctl start docker # start docker service
$ sudo systemctl restart docker # restart docker service
Verifica la versione Docker
Per verificare la versione della finestra mobile, esegui il seguente comando:
$ docker version
Esegui Nginx Container utilizzando Docker
L'esecuzione di Nginx in contenitori docker è molto semplice e facile. Devi solo estrarre un'immagine Nginx dall'hub Docker e creare un contenitore Nginx che funge da server Web per file statici. Per estrarre l'ultima immagine Nginx, esegui il comando seguente.
$ sudo docker pull nginx
Per elencare le immagini della finestra mobile, esegui il comando:
$ sudo docker images
Per eseguire un contenitore da un'immagine estratta, esegui il comando seguente:
$ sudo docker run -d --name nginx-server -p 80:80 nginx
dove,
d=esegui il contenitore in modalità scollegata
name=nome del contenitore da creare
p=porta il container verrà mappato con l'host
Avrai un output simile a :
$ 7ef30a6599d0a7f9618883441fdd2a683e7205287d09f92dcd3b63f4892551e7
L'output mostra l'ID del contenitore creato utilizzando l'immagine Nginx.
Per elencare il contenitore in esecuzione, esegui il comando:
$ sudo docker ps -a
Puoi trovare contenitori con stato nel tuo terminale come:
Nginx è in esecuzione in contenitori docker con porta 80. Puoi verificare l'installazione di Nginx accedendo all'URL http://your-server-ip nel tuo browser.
Crea volume Docker per Nginx
I contenitori che abbiamo appena creato stanno avvolgendo tutta la configurazione di Nginx e i file statici nel contenitore stesso. Se dobbiamo modificare qualcosa o sostituire file, dobbiamo accedere ogni volta ai contenitori docker. Allo stesso modo, se eliminiamo il contenitore, vengono rimossi anche tutti i file e i file di configurazione. Per mitigare questo problema, è necessario creare un volume Docker nell'host e mapparlo con un contenitore per proteggere la configurazione e i file Web. In questo esempio, ho preso nginx-data come nome del volume. Puoi avere la tua ipotesi.
Per creare un volume Docker, eseguire il comando seguente:
$ sudo docker volume create nginx-data
Ottieni le informazioni sul volume della finestra mobile eseguendo il comando:
$ sudo docker volume inspect nginx-data
Otterrai un output simile a:
Per un facile accesso, puoi creare un collegamento simbolico della directory del volume della finestra mobile. Per creare un collegamento simbolico, esegui il seguente comando:
$ ln -s /var/lib/docker/volumes/nginx-data/_data /nginx
Ora avvia il contenitore Nginx con archiviazione dati persistente.
$ sudo docker run -d --name nginx-server -p 80:80 -v nginx-data:/usr/share/nginx/html nginx
Dove,
d=eseguire il contenitore in modalità scollegata
name=nome del contenitore da creare
p=porta da mappare con l'host
v=nome del volume della finestra mobile
Il contenitore è stato avviato con archiviazione dati persistente. Otterrai l'ID contenitore come output come:
$ 3067684b1133a2c7e36381574ea9af3ebbb79dd2504f63ae3569bb059b74d905
Ora verifica i contenuti disponibili nella directory persistente dei dati.
$ ls /var/lib/docker/volumes/nginx-data/_Data
Il seguente output verrà visualizzato nel tuo terminale:
Cambiamo il contenuto del file index.html che si trova in /var/lib/docker/volumes/nginx-data/_data
$ sudo vi /var/lib/docker/volumes/nginx-data/_data/index.html
Modifica del codice HTML e salva il file. Naviga l'URL nel tuo browser e troverai i tuoi contenuti Nginx modificati come:
Conclusione
In questo articolo, hai imparato come installare la finestra mobile, estrarre le immagini della finestra mobile dall'hub della finestra mobile ed eseguire un'applicazione in un contenitore. Inoltre, hai imparato come creare un archivio dati persistente e mappare con i contenitori Docker.