Docker VirtualBox httpd container è dedicato all’approfondimento del sistema Docker e dei container partendo da un apache e delle pagine html.
In passato hai già letto dei miei articoli ( Influxdb grafana docker raspberry, Docker Portainer, ecc.. ) dedicati all’argomento ed in particolare sulla Raspberry Pi.
In quella occasione di ti sei concentrato più sull’utilizzo dei container tralasciando l’aspetto di gestione e di amministrazione dei container.
Docker VirtualBox httpd container
Useremo come base per eseguire questi test l’immagine docker standard ufficiale dell’hattpd ed un docker installato su Centos 7 in VirtualBox.
Iniziamo con l’impostazione dell’immagine in Virtaul Box impostando la rete in NAT:
e configurando le due porte di rete in ingresso:
- 8888 per l’http
- 2222 per l’ssh
in questo modo potrai collegarti al localhost:2222 in ssh ed accedere al server virtuale:
una volta nella macchina virtuale, avvia docker a meno di non averlo configurato come partente al boot.
Per avviare docker usa “systemctl start docker”:
nella schermata vedi anche il risultato del comando “systemctl status docker” in cui puoi leggere chiaramente active (running) che ti conferma il corretto avvio.
Da questo momento puoi utilizzare i comandi docker per gestire le componenti come, ad esempio, il download delle immagini, l’avvio dei container e l’accesso agli stessi.
Ricerca immagini docker e download
Utilizzando i comandi docker puoi ricercare, tra le immagini ufficiali, quella più adatta alle tue esigenze, usa il comando:
docker search httpd
ad esempio produce un output simile al seguente:
in cui puoi trovare tutte le immagini di tipo “httpd” presenti su docker.io.
Per scaricare l’immagine desiderata usa il comando “docker pull” aggiungendo il nome dell’immagine scelta, ad esempio docker.io/httpd
docker pull docker.io/httpd
che produce l’output seguente:
il cui risultato è il download dell’immagine che hai scelto.
Per verificare che l’immagine sia stata scaricata usa il comando:
docker image ls
il cui output ti mostra le immagini presenti sul tuo sistema:
in questo momento l’unica immagine disponibile è quella docker.io/httpd le cui caratteristiche sono visibili e descritte sulla pagina dedicata del dockerHub.
Il prossimo passo sarà avviare il docker virtualBox httpd container, ossia creare e avviare il tuo primo container.
Il comando di avvio è riportato nella documentazione ufficiale:
docker run -dit --name my-running-app -p 8080:80 my-apache2
che userai con le dovute modifiche per adattarle alle tue esigenze, in modo particolare cambierai:
la porta mappata verso l’host da 8080 a 8888
il nome che avrà il container da my-running-app a myhttpd
è giunto il momento di creare ed avviare il container:
docker run -dit --name myhttpd -p 8888:80 docker.io/httpd
come nell’immagine seguente:
e per verificare che l’immagine sia attiva puoi usare il comando:
docker ps
il cui output è visibile nella schermata seguente:
in cui vedi che la porta 80 del container è correttamente mappata sulla porta 8888.
Puoi collegarti da browser a tale porta sull’indirizzo localhost:
localhost:8888
e vedrai la risposta del server:
Entra nel docker virtualbox httpd container
Se desideri accedere ad un docker VirtualBox httpd container già avviato puoi usare il comando exec a cui passi il tipo di shell con cui vuoi accedere.
docker exec -it myhttpd /bin/bash
come nella schermata seguente:
arrivi nella dir del server http /usr/local/apache2 sotto cui trovi la dir htdocs con il file index.html che hai visto nel browser collegandoti alla 8888 del localhost.
Puoi usare i comandi della bash per visualizzare il contenuto della cartella e delle sue sottocartelle:
Nei prossimi articoli proveremo ad eseguire delle modifiche a questo container e riportarle su una immagine.