即使在运行新的容器映像之后仍然使用相同的容量

docker上有两个容器

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 

一切正常,好。 但是,当我想例如运行应用程序与另一个版本的Web应用程序local-webapp:0.66我改变版本为0.66在compose.yml,停止当前的容器,并再次运行

 docker-compose -f compose.yml up 

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

所以,这个问题。 这怎么可能configuration我的compose.yml文件更新卷而不删除所有容器?

这是因为Compose保留了卷 。

如果你想要新的数据,你有两个select:

  • 不要使用音量
  • 先取出容器