2015-01-13 14 views
7

Mam skrypt uruchomiony wewnątrz kontenera dokera, który nasłuchuje zmian w katalogu przez inotifywait. Katalog jest podłączony do hosta poprzez docker -v.inotifywait w docker-container nie rejestruje zmian

Z jakiegoś powodu inotifywait nie zostanie wyzwolony, gdy pliki w tym katalogu zostaną zmienione.

Jest to problematyczne Script-line

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

Pojemnik jest rozpoczęte w ten sposób (za pomocą rysunku)

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

Kiedy rozpocząć konfigurację poprzez fig up, skrypt jest wykonywany, ale zmiany w zamontowanej objętości nie wyzwala bariery inotify.

+0

Sprawdziłem z podstawowego pojemnika, zainstalowanego inotify-narzędzi, zaczął inotify, stworzyliśmy katalog i plik, a została zgłoszona. Tak więc wydaje się być związany z woluminami za pomocą docker -v ' – user2915097

+0

docker! = Wirtualizacji, może to jest edgecase, gdzie docker nie może utrzymać izolacji. –

+0

Widzę to samo zachowanie przy użyciu woluminów docker compose (rys.), Które są tworzone za pomocą 'docker -v'. –

Odpowiedz

0

(Tylko dlatego, że widziałem tag boot2docker) Czy jesteś pewien, że Twój kontener może zobaczyć plik zmieniony? Jeśli napisałeś na swoim hoście, będzie to inotify na twoim mac, a nie na maszynie wirtualnej, która uruchamia demona docker.

TL; DR: boot2docker dotykowy ssh/file/na/zamontowanym/objętość

Powiązane problemy