docker-compose 看不到 docker-compose.yml 中的卷变化

docker-compose does not see volumes changes in docker-compose.yml

我正在使用 docker-compose。

我的docker-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 停止了容器,我用这种方式改变了我的 docker-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

之后,我用 docker-compose up -d

启动了容器

我希望容器开始使用新路径,但我看到使用的是旧路径。因此,我的文件夹中又出现了 ./mediacrush 和 ./redis。

这是我对 docker-compose 的错误理解,还是 docker-compose 的问题?

我正在使用 docker-compose 版本:1.5.0dev

谢谢

只有当它们是容器数据卷(而不是像您的情况那样的主机卷)时才应该保留卷。

我会尝试 运行 docker-compose rm 移除容器(在停止它们之后)。之后 up 应该使用正确的路径。