数据丢失后重新启动(postgres容器)

我正在使用这个docker-compose.yml创build一个容器

 postgresdb: container_name: "postgresdb" image: "postgres:9.5" volumes: - "/var/docker/data/postgresdb:/var/lib/postgresql/data" ports: - "5432:5432" environment: VIRTUAL_HOST: "postgresdb.docker" VIRTUAL_PORT: "5432" POSTGRES_DB: "dev" 

第一次运行我的容器后,我在我的数据库创build一些表。 之后,我停止我的容器,并停止小艇(小艇停下来)。 之后,我开始小艇(小艇),并启动postgres容器。 桌子现在不见了

我在dinghy vm里面检查了一下,装好的卷在那里。

版本

 Macbook pro Dinghy 4.3.1 docker-machine version 0.6.0, build e27fb87 docker-compose version 1.6.2, build 4d72027 Virtualbox 5.0.16 r105871 (with the latest extension pack) Docker version 1.10.3, build 20f81dd 

当我从docker-compose.yml移除卷并重新启动时,它按预期工作。 当然,如果我删除预期的容器,数据将会丢失。

所以这个问题仍然代表着装卷。 装卷的API可能已经改变了? 我已经读过有关做事的新方法,但是这不是应该向后兼容吗?

https://github.com/codekitchen/dinghy/issues/162

这并不是独一无二的,这是因为docker-machine使用的根卷在重新启动时没有被保留。 我build议使用一个命名卷,如果你想要的数据坚持,而不是一个硬编码的path在linux虚拟机。 例如:

  volumes: - "mydatavol:/var/lib/postgresql/data" 
Interesting Posts