[英]Docker: How to volume map data from host to container (mongo) in using docker-compose
我正在嘗試使用 docker-compose 將數據從主機映射到容器。 我從prisma 文檔<\/a>中找到了這個docker-compose.yml<\/strong>
version: '3'
services:
prisma:
image: prismagraphql/prisma:1.34
restart: always
ports:
- '4466:4466'
environment:
PRISMA_CONFIG: |
port: 4466
managementApiSecret: mysecret42
databases:
default:
connector: mongo
uri: mongodb://prisma:prisma@mongo
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: prisma
MONGO_INITDB_ROOT_PASSWORD: prisma
ports:
- '27017:27017'
volumes:
- mongo:/var/lib/mongo
volumes:
mongo:
您所描述的不是 docker 的行為。 Prismagraph 程序中必須有一些東西可以在每次啟動時擦除所有數據。
docker compose down
需要-v
標志才能刪除命名卷。
https://docs.docker.com/compose/reference/down/
您可以通過執行以下操作來確認這一點:
docker volume ls
docker volume inspect mongo
更新:mongo 存儲數據的位置是/var/lib/mongodb
,而不是/var/lib/mongo
更改您的 docker-compose 文件,它應該可以工作。
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: prisma
MONGO_INITDB_ROOT_PASSWORD: prisma
ports:
- '27017:27017'
volumes:
- mongo:/var/lib/mongodb
volumes:
mongo:
以下工作:
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: prisma
MONGO_INITDB_ROOT_PASSWORD: prisma
ports:
- '27017:27017'
volumes:
- mongo:/data/db
volumes:
mongo:
為我工作。
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: prisma
MONGO_INITDB_ROOT_PASSWORD: prisma
volumes:
- ./mongo/data:/data/db
volumes:
mongo:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.