[英]Docker compose mirroring folder
我正在嘗試創建一個在 docker 容器中運行的 mongodb 服務。 我的目的是將所有容器內的數據保存在主機中。 為此,我有一個docker-compose.yml
文件,其內容是:
version: '3.2'
services:
mongodb:
image: mongo:latest
environment:
MONGO_INITDB_ROOT_USERNAME: myrootmongousername
MONGO_INITDB_ROOT_PASSWORD: myrootmongopassword
MONGO_INITDB_DATABASE: dbnameiwanttocreate
ports:
- '27010:27017'
volumes:
- 'mongodata:/data'
如您所見,我的volumes
部分聲明將容器內/data
文件夾的所有內容放入主機中的mongodata
文件夾中。 我創建了一個名為mongodata
的文件夾,其高度與我的docker-compose.yml
文件相同。
myprojectfolder
|__docker-compose.yml
|__mongodata
當我執行docker-compose up
它會創建一個容器,我可以連接等等。 但是,我的mongodata
文件夾完全是空的。 這不可能是真的,因為如果我 go 在 docker 容器中 ( docker exec -it <container-id> bash
) 並瀏覽/data
文件夾,它根本不是空的。
我的錯誤是什么?
謝謝!
以下Docker compose文件適用於ubuntu 18.04下的目錄結構,檢查docker是否有權限寫入本地文件夾mongodata
如果這不起作用,通過運行docker-compose logs
將更新特定於該問題的答案。
version: '3.2'
services:
mongodb:
image: mongo:latest
environment:
MONGO_INITDB_ROOT_USERNAME: myrootmongousername
MONGO_INITDB_ROOT_PASSWORD: myrootmongopassword
MONGO_INITDB_DATABASE: dbnameiwanttocreate
ports:
- '27010:27017'
volumes:
- './mongodata:/data'
├── docker-compose.yml
└── mongodata
├── configdb
└── db
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.