我正在使用Docker(Desktop 2.0.0.3)和Docker-compose(1.23.2)启动3个服务: 1-PostgreSQL 2-卡桑德拉 3-我的Webapp
问题是,当我在Windows 10上重新启动Docker服务时,我只是在Cassandra上丢失了数据。重新启动容器时不发生,在重新启动Docker服务时不发生在postgresql中
这是我的docker-compose.yml:
version: '3.1'
cassandra:
container_name: cassandra
image: launcher.gcr.io/google/cassandra3
ports:
- '7000:7000'
- '7001:7001'
- '7199:7199'
- '9042:9042'
- '9160:9160'
- '9404:9404'
volumes:
- /home/cassandra:/var/lib/cassandra
restart: always
postgresql:
container_name: "postgresql"
image: postgres:11.1-alpine
restart: always
environment:
POSTGRES_DB: mydb
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
volumes:
- ./startup.sql:/docker-entrypoint-initdb.d/startup.sql
- postgresdata:/var/lib/postgresql/data
ports:
- 5432:5432
volumes:
postgresql:
cassandra:
我可以适当地访问容器,创建键空间,启动我的应用程序,这完全取决于cassandra的可用性...
如果我重新启动容器,创建的键空间和数据仍然存在,如果我重新启动主机中的Docker服务,则数据将被删除。无法弄清楚为什么,我肯定是我的Yaml中有某种错字
希望有人能带来一些启发 谢谢大家