2015-10-31 1 views
5

Я работаю с docker-compose.docker-compose не видит изменения томов в файле docker-compose.yml

Мой докер-compose.yml выглядит

redis: 
    image: redis 
    expose: 
     - "6379" 
    volumes: 
     - ./redis:/data 

nerdzcrush: 
    image: nerdzeu/docker-nerdzcrush 
    ports: 
     - "8181:81" 
    links: 
     - redis 
    volumes: 
     - ./mediacrush:/home/mediacrush 

Когда я бегу docker-compose up все работает отлично.

После этого мне нужно было изменить путь монтирования. я остановил контейнеры с docker-compose stop, я изменил свой Докер-compose.yml таким образом:

redis: 
    image: redis 
    expose: 
     - "6379" 
    volumes: 
     - ./nerdzcrush/redis:/data 

nerdzcrush: 
    image: nerdzeu/docker-nerdzcrush 
    ports: 
     - "8181:81" 
    links: 
     - redis 
    volumes: 
     - ./nerdzcrush/mediacrush:/home/mediacrush 

И я удалил старые каталоги с

sudo rm -rf ./mediacrush ./redis 

После этого я начал контейнеры Wiht docker-compose up -d

Я ожидаю, что контейнеры начнут работать с новым путем, но я вижу, что используется старый путь. Таким образом, у меня снова есть ./mediacrush и ./redis в моей папке.

Это то, что я неправильно понял о докер-сочинении или проблема с докер-составом?

Я использую версию докера-: 1.5.0dev создания сообщения

Спасибо

ответ

3

Это только предполагается сохранить объемы, если они являются объемами данных контейнеров (не размещают объемы, как в вашем случае).

Я бы попробовал запустить docker-compose rm, чтобы удалить контейнеры (после их остановки). После этого up должен использовать правильный путь.

+1

Да, это то, что я сделал, и все работает. Но это правильное поведение? Это где-то задокументировано? Кстати, поскольку ваш ответ - это то, что я сделал, это принятый ответ. – nessuno

+0

Это плохо документировано. Я работаю над некоторыми документами для следующей версии. – dnephin

+0

Когда вы выпускаете документацию, прокомментируйте здесь или свяжитесь со мной как-нибудь, я прочитаю ее с удовольствием. – nessuno