2015-01-13 9 views
7

Ho uno script in esecuzione all'interno di un contenitore mobile che ascolta le modifiche in una directory tramite inotifywait. La directory viene montata sul sistema host tramite docker -v.inotifywait nella finestra mobile-contenitore non registra le modifiche

Per qualche motivo, inotifywait non viene attivato quando i file all'interno di questa directory vengono modificati.

Questo è lo script da riga problematica

inotifywait -e create -e modify -e delete -e move /etc/nginx/sites-enabled 

Il contenitore è iniziata in questo modo (via fig)

web: 
    build: . 
    ports: 
    - "80:80" 
    volumes: 
    - ./conf:/etc/nginx/sites-enabled 

Quando avvio il programma di installazione tramite fig up, lo script viene eseguito, ma i cambiamenti nel volume montato non attivare la barriera inotify.

+0

Ho controllato con un contenitore di base, installato inotify-tools, iniziata inotify, ha creato una directory e un file, ed è stato notificato. Quindi sembra correlato ai volumi con 'docker -v' – user2915097

+0

finestra mobile! = Virtualizzazione, forse questo è un edgecase in cui la finestra mobile non può mantenere alto l'isolamento. –

+0

Sto vedendo lo stesso comportamento usando i volumi (fig) della docker compose che sono creati con 'docker -v'. –

risposta

0

(Solo perché ho visto il tag boot2docker) Sei sicuro che il tuo contenitore possa vedere il file modificato? Se hai scritto sul tuo host, sarà un evento inotify sul tuo Mac, non sul VM che esegue il daemon docker.

TL; DR: boot2docker ssh touch/file/su/montato/Volume