首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker compose mirroring文件夹

Docker compose mirroring文件夹
EN

Stack Overflow用户
提问于 2020-06-10 19:07:22
回答 1查看 553关注 0票数 1

我正在尝试创建一个在docker容器中运行的mongodb服务。我的目的是将容器中的所有数据持久化到主机中。为此,我有一个docker-compose.yml文件,它的内容是:

代码语言:javascript
复制
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的文件夹。

代码语言:javascript
复制
myprojectfolder
|__docker-compose.yml
|__mongodata

当我使用docker-compose up时,它会创建一个容器,然后我就可以连接,等等。但是,我的mongodata文件夹是完全空的。这不是真的,因为如果我进入docker容器(docker exec -it <container-id> bash)并浏览/data文件夹,它根本就不是空的。

我在这里犯了什么错误?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-06-10 19:27:46

下面的Docker编写文件适用于ubuntu18.04上的目录结构,请检查docker是否有权限写入本地文件夹mongodata

如果这不起作用,那么通过运行docker-compose logs来粘贴日志将更新特定于该问题的答案。

代码语言:javascript
复制
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'
代码语言:javascript
复制
├── docker-compose.yml
└── mongodata
    ├── configdb
    └── db
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62302064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档