GNU/Linux >> Linux Esercitazione >  >> Panels >> Docker

Come eseguire Nginx in un contenitore Docker:una guida passo passo

In questo tutorial imparerai come eseguire Nginx come contenitore Docker ed esporlo alla tua rete locale.

Inoltre, imparerai come creare un volume di dati Docker per condividere informazioni tra un container e il file system host.

Nginx è un popolare software open source utilizzato per servizi Web, proxy inverso, memorizzazione nella cache, bilanciamento del carico, ecc. Oggi è abbastanza popolare e utilizzato su molti siti Web ad alto traffico. Uno dei carichi di lavoro più comuni di Docker è utilizzarlo per containerizzare i server Web. Ti mostreremo come configurarlo con Nginx. Quindi, lascia che ti guidiamo attraverso il processo.

Docker è una piattaforma di containerizzazione che racchiude la tua applicazione in un'unica immagine container facilmente gestibile.

Prerequisiti

Devi soddisfare i seguenti requisiti per completare questo tutorial:

  1. Docker dovrebbe essere installato e in esecuzione localmente sul tuo sistema.
  2. Hai bisogno di un account root o un utente può eseguire i comandi sudo.

Configurazione di Nginx Inside Docker

Estrarre l'immagine

Innanzitutto, estrarremo l'immagine ufficiale di Nginx. Esegui il seguente comando pull Docker sul terminale per scaricare l'immagine più recente di Nginx dall'hub Docker sul tuo host Docker.

sudo docker pull nginx

Esegui Nginx Docker Container

Siamo pronti per eseguire il container Nginx Docker ed esporre la sua porta alla tua rete locale. Per fare ciò, eseguiamo l'immagine con il comando:

sudo docker run -d -p 80:80 --name my-nginx-server nginx
  • -d – Avvia un contenitore in modalità scollegata (il contenitore è in esecuzione in background).
  • -p – Associa una porta dal container all'host (indirizza la porta del traffico host 80 alla porta del container 80).
  • -name – Il nome del nostro container Docker.

L'ultimo argomento, nginx , indica a Docker quale immagine utilizzare per il contenitore.

Ora apri un browser e puntalo all'indirizzo dell'host su cui hai eseguito il tuo container Nginx. Nel mio caso, è http://192.168.122.101 . La pagina predefinita del server web Nginx dovrebbe salutarti.

Eccolo. Hai un'istanza funzionante del contenitore Nginx Docker.

Elenca contenitori Docker

Per elencare tutti i contenitori Docker in esecuzione, esegui il comando seguente:

sudo docker container ls

Sulla base dell'output sopra, possiamo interrompere il nostro container Nginx Docker con uno dei due seguenti:

sudo docker stop 19411f8b3f35
sudo docker stop my-nginx-server

Per vedere tutti i contenitori, anche quelli non in esecuzione, devi aggiungere il -a bandiera.

sudo docker container ls -a

Condivisione dei dati tra Nginx Docker Container e l'host

I contenitori Docker sono effimeri. Per impostazione predefinita, tutti i dati creati all'interno del contenitore sono disponibili solo all'interno del contenitore e solo mentre il contenitore è in esecuzione.

Quindi, ti mostriamo come rendere i dati dall'interno del contenitore accessibili sulla macchina host. Il nostro obiettivo è creare un semplice file HTML, ospitarlo all'interno di un container e servirlo all'esterno utilizzando il container Nginx Docker.

Questa configurazione ci consente di avere contenuti del sito web persistenti ospitati all'esterno del contenitore.

Per ottenere questa funzionalità, utilizzeremo la funzione di montaggio vincolato in Docker. Quando utilizzi un montaggio vincolato, un file o una directory sulla macchina host viene montato in un contenitore.

Quindi, creiamo prima una nuova directory per il contenuto del tuo sito web all'interno della home directory.

mkdir ~/www

Ora creiamo un semplice file HTML e mettiamo del testo nella tua pagina indice.

vim ~/www/index.html
<html>
<head>
<title>Nginx Docker</title>
</head>
<body>
<h1>My static page.</h1>
</body>
</html>

Si prega di copiare lo snippet sopra e incollarlo all'interno. Quindi, salva il file ed esci da Vim.

Successivamente, eseguiremo il container Nginx Docker con il volume allegato nel container /usr/share/nginx/html al presente sull'host www directory in cui index.html il file viene salvato.

docker run -d -p 80:80 -v ~/www:/usr/share/nginx/html/ --name my-nginx-server nginx

Il contenitore Nginx è impostato per impostazione predefinita per cercare una pagina di indice in /usr/share/nginx/html/ . Nel comando sopra, -v l'opzione imposta un volume di montaggio vincolante che collega /usr/share/nginx/html/ directory dall'interno del contenitore Nginx Docker nel ~/www directory sul computer host.

Docker utilizza un simbolo di due punti (: ) per dividere il percorso dell'host dal percorso del contenitore. Ricorda, il percorso dell'host viene sempre prima.

Di nuovo, se navighi su http://192.168.122.101 , otterrai l'output indicato di seguito nella finestra del browser.

Questo è tutto. Ora hai un container Nginx Docker in esecuzione che serve una pagina web personalizzata.

Conclusione

Nginx e Docker funzionano molto bene insieme. Questo tutorial ha dimostrato come configurare e utilizzare il contenitore Nginx Docker. Sai anche come condividere le informazioni tra un container e il file system host.

In caso di domande, si prega di lasciare i vostri commenti.


Docker
  1. Come eseguire MySQL in Docker Container:una guida semplice e facile da seguire

  2. Come distribuire un container nginx con Docker su Linode

  3. Un'introduzione a Docker

  4. Come eseguire un comando su un contenitore Docker in esecuzione

  5. Impossibile eseguire NGINX Docker a causa di "13:Permesso negato"

Come eseguire PHPMyAdmin in un contenitore Docker

Come eseguire Grafana in un contenitore Docker

Come eseguire i contenitori Docker

Comandi Docker per la gestione del ciclo di vita dei container (Guida definitiva)

Guida per principianti alla politica di riavvio di Docker

Esegui Docker Container in background (modalità separata)