我正在尝试创建一个在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文件夹中。我在与docker-compose.yml文件相同的高度创建了一个名为mongodata的文件夹。
myprojectfolder
|__docker-compose.yml
|__mongodata当我使用docker-compose up时,它会创建一个容器,然后我就可以连接,等等。但是,我的mongodata文件夹是完全空的。这不是真的,因为如果我进入docker容器(docker exec -it <container-id> bash)并浏览/data文件夹,它根本就不是空的。
我在这里犯了什么错误?
谢谢!
发布于 2020-06-10 19:27:46
下面的Docker编写文件适用于ubuntu18.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
└── dbhttps://stackoverflow.com/questions/62302064
复制相似问题