一、docker-compose安装MongoDB

  1. > cd /home
  2. > mkdir mongo
  3. > cd mongo
  4. > vi docker-compose.yml
  5. version: '3.1'
  6. services:
  7. mongo:
  8. image: mongo
  9. restart: always
  10. environment:
  11. MONGO_INITDB_ROOT_USERNAME: root
  12. MONGO_INITDB_ROOT_PASSWORD: example
  13. ports:
  14. - 27017:27017
  15. volumes:
  16. - /home/mongotest:/data/db
  17. > docker-compose up -d #拉取镜像,创建docker,运行mongodb服务
  18. > docker ps | grep mongo

参考

二、Linux上创建MongoDB数据库、集合

  1. > docker exec -it mongotest_mongo_1 mongo #连接数据库
  2. > use admin #创建admin数据库
  3. > db.auth('root','example') #登录
  4. > show dbs #查看数据库
  5. > use testdb #创建testdb数据库
  6. > db.createUser({user:'test',pwd:'123456',roles:[{role:'dbOwner', db:'testdb'}]}) #创建用户
  7. > db.auth('root','123456')

可通过GUI工具 - Robo 3T连接

三、MongoDB备份与恢复

  1. # 备份mongodump
  2. > docker ps | grep mongotest # 查看容器名称,这里是mongotest_mongo_1
  3. > docker exec -it mongotest_mongo_1 mongodump -h localhost -u root -p example -o
  4. /tmp/test #进入MongoDB终端
  5. #-d可以备份制定数据库
  6. #-o指定备份目录
  7. > docker cp 8eb747c359b9:/tmp/test /tmp/test #将容器内部目录复制出来,8eb747c359b9为容器id
  8. # 恢复mongorestore
  9. docker exec -it mongotest_mongo_1 mongorestore -h localhost -u root -p example --dir /tmp/test
  10. #--dir为备份路径