Il Docker container share dir html è la possibilità di avviare un container che condivida una share dell’host da cui è ospitato.
Userai come esempio il container che hai creato su una macchina virtuale in questo articolo e la directory html www_ docker/htdocs sotto la home dell’utente con cui avvii docker.
Avvia il Docker container share dir html
prima di iniziare è necessario avviare il container partendo da una situazione in cui il container non è presente.
Dopo aver eseguito il comando:
docker ps
il risultato che vedi è come nella figura seguente:
ossia nessun container in questo momento è presente nel docker.
Sull’host crea la directory www_docker/htdocs usando il comando:
mkdir www_docker/htdocs
partendo dalla home dell’utente con cui stai avviando i container, nel mio esempio root.
Avvia il container usando il comando:
docker run -dit -p 8888:80 --name=myhttpd -v "$PWD"/www_docker/htdocs/:/usr/local/apache2/htdocs/:Z docker.io/httpd:latest
avrai un risultato simile al seguente:
puoi notare che il comando docker ps non ti mostra la directory condivisa con l’host.
Edit docker container share dir html
Editiamo i file presenti nella directory direttamente sull’host:
usa il comando cd per posizionarti nella share del docker container share dir html ed edita il file index.html
come hai notato la quarta linea è stata modificata in “your second Docker installation” anche se in realtà non si tratta della seconda installazione ma della modifica della pagina html.
Salva il file e collegati al container, vedrai:
ossia la pagina che hai appena modificato.
A questo punto puoi modificare nuovamente il medesimo file presente nella share condivisa sull’host:
ho sostituito la parola “second” con “last”, anche se non penso sarà l’ultima modica che eseguirai a questo container, almeno spero.
Ora collegati al container attraverso il browser e vedrai la seguente schermata:
in cui il messaggio è cambiato seguendo le tue modifiche.
Vantaggi del docker container share dir html
Questo metodo permette alcuni interessanti vantaggi tra cui:
- il container può essere attivo o disattivo al momento in cui esegui le modifiche, è importante che il solo host sia attivo;
- le modifiche non richiedono di accedere al container;
- puoi accedere alla medesima share da più container contemporaneamente;
- puoi trasferire file di immagini, suoni, ecc.. all’interno dell’host;
ce ne sono anche alti che ti lascio scoprire da solo.