我有一个 docker-compose 文件,它将在同一个网络“mynet”中启动 mongo 和 mongo-express 容器。我通过以下方式创建了一个网络:
docker network create mynet
我通过 docker 命令在外部创建了一个名为“demo-vol”的卷。
docker volume create demo-vol
在容器内,我创建了一个示例 mongo 集合。当我执行docker-compose up 时,我可以看到容器正在运行,但我无法在该指定卷中找到 mongo 数据。
下面是我的 docker-compose.yaml 文件
version: '3'
services:
mongo:
image: mongo
container_name: mymongo
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
volumes:
- "/demo-vol:/data/db"
networks:
- mynet
ports:
- 27017:27017
mongoexpress:
image: mongo-express
container_name: mymongoexpress
ports:
- 8081:8081
volumes:
- "/demo-vol:/data/db"
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
depends_on:
- mongo
networks:
- mynet
volumes:
demo-vol:
external: true
networks:
mynet:
external: true
我需要的是: 即使在删除容器之后,我也希望我的数据是持久的。
如何做到这一点,请解释。我哪里错了?
注意:我是 Docker 概念的初学者。
提前致谢。