加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

docker备份和恢复mongodb

发布时间:2020-12-16 03:52:35 所属栏目:安全 来源:网络整理
导读:仅创建数据容器: docker create -v /mongodb_data --name mongodb_data mongo 创建monogdb容器: docker run --volumes-from mongodb_data --name mongo_db --restart always -d mongo 然后在我自己的容器中使用mongodb我使用link命令: --link mongo_db:mo

仅创建数据容器:

docker create -v /mongodb_data --name mongodb_data mongo

创建monogdb容器:

docker run --volumes-from mongodb_data --name mongo_db --restart always -d mongo

然后在我自己的容器中使用mongodb我使用link命令:

--link mongo_db:mongo

所以一切正常.现在我想根据docs:http://docs.docker.com/userguide/dockervolumes/#backup-restore-or-migrate-data-volumes和这个命令备份mongodb:

docker run --volumes-from mongodb_data -v $(pwd):/backup busybox tar cvf /backup/backup.tar /mongodb_data

但是,创建的tar文件只有一个空/ mongodb_data文件夹.该文件夹不包含单个文件.

任何想法都错了吗?我在ubuntu 14.04 LTS上使用docker 1.7.

问题是您的数据仅容器.使用不存储任何mongo db数据的path / mongodb_data创建卷.默认情况下,mongo db存储路径为/ data / db(根据this #Where to Store Data Section)

因此,您的mongodb数据不会保存在仅数据容器中.所以这是一个解决方法:

>将/ data / db复制到你的mongodb容器中的/ mongodb_data exec -it mongo_db bash然后是cp -r / data / db / * / mongodb_data /
>按照你提到的doc进行备份
>构建新的仅数据容器并加载备份
>删除当前的mongo_db容器,并使用仅新数据容器重新创建一个新容器

或者,您可以修改您的mongodb配置,将所有数据从/ data / db复制到/ mongodb_data后将默认目录更改为/ mongodb_data.你可能会发现这个有用的Changing MongoDB data store directory

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读