即使在运行新容器图像

时间:2016-07-25 16:28:52

标签: docker docker-compose

我有f.e.码头工具中的两个容器

compose.yml

version: '2'
services:
  nginx:
    image: local-nginx:0.3
    ports:
      - "81:81"
    volumes_from:
      - webapp
  webapp:
    image: local-webapp:0.65

webapp Dockerfile

FROM node:4.3.0
...
VOLUME /www
CMD npm run some_script

所以,发生了什么,webapp容器共享文件夹/ www到nginx,静态文件是从nginx容器提供的。 我正在使用命令

启动我的应用程序
docker-compose -f compose.yml up
一切都很好,很好。但是,当我想要使用另一个版本的webapp local-webapp:0.66 运行应用程序时 我在compose.yml中将版本更改为0.66,停止当前容器并再次运行

docker-compose -f compose.yml up

但是,我仍然看到相同版本的webapp。当我进入nginx容器时,我仍然可以看到之前 0.65 中的相同文件。要查看正确的文件,我必须删除所有容器,然后再次使用docker-compose -f compose.yml。

所以,问题。如何在不删除所有容器的情况下将compose.yml文件配置为更新卷?

1 个答案:

答案 0 :(得分:1)

这是因为Compose preserves volumes

如果您想要新数据,您有两种选择:

  • 请勿使用卷
  • 首先移除容器