跳转至内容
  • 社区首页
  • 版块
  • 最新
  • 标签
  • 热门
折叠

GitHub中文论坛

  1. 主页
  2. 版块
  3. 技术交流
  4. docker 部署mongo被误删库怎么恢复求助

docker 部署mongo被误删库怎么恢复求助

已定时 已固定 已锁定 已移动 技术交流
4 帖子 2 发布者 9.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • A 离线
    A 离线
    ammu95
    写于 最后由 编辑
    #1

    用的 docker-compose 部署的,修改yml配置,然后重新 docker-compose up -d
    发现库被清库了😖 。

    不应该啊,不是挂载了data目录吗,容器重建会把数据删了?数据有办法恢复吗

    version: '3.1'
    
    services:
      mongo:
        image: mongo
        deploy:
          resources:
            limits:
              memory: 1G
        command: --wiredTigerCacheSizeGB 0.5
        restart: always
        
        ports:
          - 27017:27017
        volumes:
          - /root/mongodb-data:/data
    
    1 条回复 最后回复
    0
    • A 离线
      A 离线
      ammu95
      写于 最后由 编辑
      #2

      经过多次测试,发现mongo的数据是存在容器的/data/db 目录下的,该目录下是有数据的,为什么宿主机的 /root/mongodb-data/db 目录里的 db 是空的,按理是有数据的啊。

      1 条回复 最后回复
      0
      • k1995K 离线
        k1995K 离线
        k1995
        写于 最后由 编辑
        #3

        挂载路径不对,正确的应该挂载到 /data/db,而不是 /data:

        volumes:
              - /root/mongodb-data/db:/data/db
        

        你可以查看mongo的Dockerfile,默认会为/data/db创建一个匿名卷。

        容器销毁后,卷不会自动删除,所以你数据还在不要慌。你可以到 /var/lib/docker/volumes/ 下面找下

        A 1 条回复 最后回复
        0
        • k1995K k1995

          挂载路径不对,正确的应该挂载到 /data/db,而不是 /data:

          volumes:
                - /root/mongodb-data/db:/data/db
          

          你可以查看mongo的Dockerfile,默认会为/data/db创建一个匿名卷。

          容器销毁后,卷不会自动删除,所以你数据还在不要慌。你可以到 /var/lib/docker/volumes/ 下面找下

          A 离线
          A 离线
          ammu95
          写于 最后由 编辑
          #4

          @k1995 非常感谢大佬,可以了!

          1 条回复 最后回复
          0
          回复
          • 在新帖中回复
          登录后回复
          • 从旧到新
          • 从新到旧
          • 最多赞同


          • 登录

          • 第一个帖子
            最后一个帖子
          0
          • 社区首页
          • 版块
          • 最新
          • 标签
          • 热门