docker mongodb 数据的备份与恢复

初始设置数据库的密码: root/123456 ,表名为:testDB

1. 查询docker的运行情况
docker ps
2. 进入mongodb 的容器
docker exec -it [容器ID] bash
3. 创建一个目录为dump
mkdir dump
4. 进入db目录
cd data/db
5. 备份数据(path:data/db)
mongodump -h 127.0.0.1 --port 27017 -u='root' -p='123456' -d testDB -o /dump
6. 手动删除数据或者删除testDB整个db
7. 恢复数据(path:data/db)
mongorestore -h 127.0.0.1:27017 -u='root' -p='123456' -d testDB /dump/testDB

具体操作如下:

此操作都是在容器内部, 如果需要将数据移到本地,那操作如下。(建议此操作在创建mongodb容器的之前就可以预留了)

docker-compose.yml

version: '2'
services:
  mongo-container:
    image: mongo:3.4
    container_name: mongodb
    environment:
        - MONGO_INITDB_ROOT_USERNAME=root
        - MONGO_INITDB_ROOT_PASSWORD=123456
    ports:
      - "27017:27017"
    volumes:
      - "./data/mongo:/data/db"
      - "./data/mongo-entrypoint/:/docker-entrypoint-initdb.d/"
      - "./copydata:/dump/"
    command: mongod

文件中就是 ./copydata:/dump/ 就是, 本地:容器 的映射关系。
docker mongodb 数据的备份与恢复_第1张图片
如果刚刚开始 没有做映射关系,那也没有关系。重启docker 即可

1. 关闭docker
	docker-compose down
2. 重启docker
	docker-compose up -d
	本地的dump 以及 容器内部dump 这个文件都是自动生成。

你可能感兴趣的:(centos,mongodb,docker)