Due docker container condividono una dir

Due docker container condividono una dir segue alla serie di articoli e sperimentazioni che puoi eseguire con docker ed i container.

Docker-containers-share-dir

In questo articolo riprendiamo parte delle informazioni che già conosci per approfondire un test in cui due container di tipo http condivideranno la medesima cartella host.

Ti consiglio, se già non lo hai fatto, di leggere i precedenti articoli sui docker container:

ti aiuteranno a comprendere meglio l’esperimento descritto in questo articolo.

Due docker container condividono una dir: prerequisiti

Il primo passo da eseguire affinché due container possano condividere la stessa dir sull’host è modificare il selinux dell’host:Docker containers share dir selinux

usando il comando 

setenforce 0

ottieni che il valore è passato da enforcing a permissive:

Docker containers share dir selinux permissive

Tale modifica ti consente di evitare che il selinux impedisca l’accesso contemporaneo alla directori host da parte dei due container.

Avvia i container docker

Proseguendo con il progetto due docker container condividono una dir è il momento di avviare i due container:

Docker containers share dir run

Nota che per entrambi devi usare l’opzione “-v” seguita dal path dell’host in cui si trova le directory da condividere, con il consueto comando:

dcker ps

controlla che siano stati correttamente avviati i due container:

Docker containers share dir started

A questo punto non resta che eseguire il primo test, verificare che ciascun container risponda sulla porta http impostata:

  • myhttpd1 sulla porta 8888
  • myhttpd2 sulla porta 8889 

puoi eseguire il test direttamente dal tuo browser digitando nell’Url:

http://[ ip dell'host ]:8888

e vedrai una schermata simile alla seguente:

Docker containers share dir first web page

apri quindi anche una seconda TAB del browser e collegati all’Url:

http://[ ip dell'host ]:8889

ti comparirà la medesima pagina servita dal secondo container:

Docker containers share dir second web page

E’ la prova che entrambi i container accedono al medesimo repository esterno.

Modifica dei file nella share condivisa

La seconda parte del test due docker container condividono una dir prevede la modifica e verifica della pagina index presente nella directory condivisa.

Inizia modificando la pagina index.html, spostati nella dir condivisa sulll’host:

Docker containers share dir show dirvisualizza il file index.html:

Docker containers share dir modify files

esegui il comando:

vi index.html

ed edita il file come preferisci, io ho aggiunto la parola two nella frase: “Your last two Docker installations”

Docker containers share dir index modified

dopo aver salvato e verificato che il file contenga le modifiche eseguite puoi andare sul browser ed eseguire il refresh di entrambe le tab.

Sulla prima ( porta 8888 ) vedrai:

Docker containers share dir first web page after modify

e sulla seconda tab ( porta 8889 ), invece, vedrai:

Docker containers share dir second web page after modify

cosa ti saresti aspettato ?

I due docker container condividono una dir quindi anche i medesimi file contenuti all’interno; se modifichi un file vedrai la modifica su entrambi.

Prima di inserire un commento, per favore, leggi il regolamento

Permanent link to this article: http://www.mauroalfieri.it/informatica/due-docker-container-condividono-una-dir.html

Lascia un commento

Your email address will not be published.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.