Se sei nuovo di Docker e dei container, allora configurare il Contenitore Docker di Apache è un ottimo punto di partenza. Creare un’applicazione su Docker è un grande vantaggio grazie alla sua tecnologia leggera e alla sicurezza.
In questo tutorial, imparerai come configurare un Contenitore Docker di Apache su Ubuntu. Utilizza questo tutorial per imparare a iniziare con Docker e ottenere anche un server web Apache!
Prerequisiti
Se vuoi seguire passo dopo passo, assicurati di avere quanto segue e Ubuntu 14.04.4 LTS o una versione successiva con Docker installato in questo tutorial. Questo tutorial utilizza Ubuntu 18.04.5 LTS con Docker v19.03.8 e un indirizzo IP pubblico di 13.213.48.113.
Configurazione del Contenitore Docker di Apache
Presumendo che tu abbia già installato Docker, iniziamo prima a configurare il contenitore Apache. In seguito, imparerai come avviarlo.
Uno dei modi più semplici per avviare rapidamente un contenitore Docker di Apache è scaricare un’immagine di contenitore esistente dal registro ufficiale di Docker, Docker Hub. Per questo esempio, scaricherai ed eseguirai un contenitore Docker chiamato Apache.
Con pochi comandi Docker, in poco tempo eseguirai un’istanza di Apache. Per farlo, segui i passaggi di seguito menzionati.
Nota: Questo tutorial non copre in modo approfondito l’esecuzione dei comandi Docker. Per saperne di più sui comandi Docker, visita la pagina di documentazione della riga di comando di Docker.
1. Apri un terminale sulla tua macchina Ubuntu.
2. Scarica l’immagine Docker, che contiene Apache chiamato httpd
, eseguendo il comando docker pull
di seguito. Questo comando scaricherà o importerà l’immagine Apache dal registro Docker, come mostrato di seguito.
Nella schermata seguente viene mostrato il risultato atteso durante il download dell’immagine da Docker Hub.

3. Successivamente, conferma di aver scaricato l’immagine eseguendo il comando docker images
di seguito per elencare tutte le immagini disponibili sul tuo computer.
Come puoi vedere di seguito, ora hai un’immagine Docker, che è l’immagine scaricata da Docker Hub.

Esecuzione del container Apache utilizzando il comando Docker.
Nella sezione precedente, hai scaricato l’immagine Docker dal Docker hub. Ora sei pronto per creare un container da quell’immagine. Per eseguire il container Apache, dovrai eseguire il comando Docker come segue:
1. Invoca il comando docker run
per creare un nuovo container basato sull’immagine Docker Apache che hai scaricato.
Il comando docker run
restituisce quindi l’ID univoco del container che hai appena creato. Salva questo ID del container nella casella evidenziata qui sotto per il futuro se desideri eliminare o rimuovere il container.

2. Una volta che il container Apache è in esecuzione, verifica se puoi accedere all’interfaccia web di Apache navigando su Indirizzo-IP-pubblico:80 utilizzando il tuo browser web. Se riesci a visualizzare lo stesso messaggio, come mostrato di seguito, allora hai avviato con successo il tuo container Docker Apache.
Assicurati che la macchina Ubuntu 14.04.4 LTS abbia una porta 80 consentita nel gruppo di sicurezza.

3. Infine, interrompere il contenitore se non è più necessario eseguirlo eseguendo il comando docker stop
di seguito. Questo comando interromperà elegantemente l’istanza del contenitore.
In alternativa, è possibile interrompere un contenitore in esecuzione specificando il suo nome nel comando
docker stop
(docker stop docker-apache
).
Esecuzione di un contenitore Docker Apache da un file Docker
Nella sezione precedente, hai appreso come avviare un contenitore Docker Apache eseguendo l’immagine Docker httpd predefinita. Cosa fare se è necessario aggiornare l’immagine di base per visualizzare contenuti diversi o esporla su una porta diversa?
Il deploy di un contenitore usando un file Docker ti consente di eliminare il passo di creazione manuale dell’immagine quando stai testando la stessa configurazione su un sistema operativo diverso. L’approccio del file Docker è uno script automatizzato delle immagini Docker.
Creiamo un file Docker e avviamo un contenitore da esso.
1. Crea una cartella chiamata ~/apache-server-docker-demo, quindi cambia (cd
) la directory di lavoro in quella cartella.
2. Crea un altro file, copia/incolla la configurazione seguente e salva il file come index.html all’interno della directory ~/apache-server-docker-demo. Il file index.html è una pagina HTML che visualizzerà Questo tutorial ti insegnerà come eseguire un container Apache in Docker una volta che il container si avvierà, come vedrai più avanti nel corso.
3. Crea un altro file, copia/incolla la configurazione seguente e salva il file come Dockerfile all’interno della directory ~/apache-server-docker-demo. Quando completo, Docker utilizzerà questo Dockerfile per eseguire tutti i comandi necessari per costruire una nuova immagine Docker in cima a qualsiasi immagine di base.
Il Dockerfile qui sotto contiene varie fasi/istruzioni che costruiranno il container Apache:
Maintainer
– L’istruzione Maintainer fornisce informazioni sull’autore che gestisce questo file.FROM
– L’istruzione FROM inizializza una nuova fase di compilazione e imposta l’immagine di base per le istruzioni successive. Nel frammento di codice seguente,centos:7
è l’immagine di base.COPY
– Il comando COPY copia un file dalla macchina host Docker alla macchina virtuale. Il index.html creato in precedenza sulla macchina host Docker verrà copiato nella directory /var/www/html del container.ESPORRE
– L’istruzione EXPOSE informa Docker che il container è in ascolto sulle porte di rete specificate durante l’esecuzione. Il web server Apache è esposto per impostazione predefinita sullaPorta 80
.
4. Successivamente, verifica tutti i file richiesti di seguito nella cartella eseguendo il comando albero
.

5. Successivamente, crea l’immagine eseguendo il comando docker build
. Il flag t
è utilizzato per etichettare l’immagine apache-server
con v1
e .
significa la directory di lavoro corrente.

docker build
command Quando Docker costruisce, restituisce vari attributi. Vedrai uno di quegli attributi è REPOSITORY. Il nome del REPOSITORY è apache-server
, e l’immagine è etichettata con la versione v1
, come mostrato di seguito.

6. Infine, esegui il container Apache utilizzando la nuova immagine appena creata eseguendo il comando docker run
.
Il flag p
pubblica le porte del container sull’host, che è 80:80
. Il flag -it
istruisce Docker ad allocare un pseudo-terminale collegato allo stdin del container.
7. Infine, verifica se puoi accedere all’interfaccia web di Apache navigando su Indirizzo-ip-pubblico:80 tramite il tuo browser web. Vedrai questo messaggio sull’interfaccia web perché hai creato il file index.html e Docker lo ha copiato nel container durante l’avvio.

Conclusioni
Questo tutorial aveva lo scopo di guidarti attraverso il processo di configurazione di un container Apache Docker utilizzando immagini Docker. Hai imparato come avviare i container Apache usando i file Docker, con i quali puoi modificare e creare container personalizzati a tua scelta.
Quindi, cosa stai per costruire sull’immagine del server Apache Docker?