Docker启动MongoDB容器


安装docker-compose

参考官网介绍 docker-compose安装

  1. 下载docker-compose:curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  2. 赋予执行权限:chmod +x /usr/local/bin/docker-compose
  3. 测试是否安装成功:docker --version

使用docker-compose启动MongoDB容器

  1. 比如在home目录下新建mongotest目录并且进入该目录: mkdir /home/mongotest && cd /home/mongotest
  2. 新建 docker-compose.yml文件: vim docker-compose.yml
  3. 写入以下内容
    version: '3.1'
    services:
      mongo:
        image: mongo
        restart: always
        environment:
          MONGO_INITDB_ROOT_USERNAME: root
          MONGO_INITDB_ROOT_PASSWORD: example
        ports:
         - 27017:27017
        volumes:
         - /home/mongotest:/data/db
  4. 执行命令: docker-compose up -d 启动一个容器
  5. 查看docker容器:docker ps -a
  6. 在docker里使用mongo的shell工具连接mongo服务:docker exec -it mongotest_mongo_1 mongo
  7. 新建testdb数据库: use testdb
  8. 创建一个 dbOwner 角色的用户
  9. 进行一些操作
  10. 使用GUI工具Robo3T连接成功,注意防火墙放行27017端口,同时注意云服务器的防火墙端口放行规则

MongDB的备份和恢复

数据备份

  1. 执行: docker ps | grep mongotest查看检索mongo容器
  2. 备份:docker exec -it mongotest_mongo_1 mongodump -h localhost -u root -p example -o /tmp/test

    -h == –host MongoDB所在服务器地址
    -u == –username
    -p == –password
    -o == –out 指定BSON保存到的目录

  3. 将容器中的数据备份文件拷贝到宿主机上: docker cp e499c3459fbd:/tmp/test /tmp/test
  4. 查看结果: cd /tmp && ls

    数据恢复

  5. 执行 docker exec -it mongotest_mongo_1 mongorestore -h localhost -u root -p example --dir /tmp/test

Mongoose操作数据

  1. 客户端安装nodejs,初始化一个node项目
  2. 安装 mongoose, 执行 npm install -S mongoose
  3. 新建 app.js 文件,写入如下内容
  4. 执行 node app.js
  5. 使用Robo 3T查看结果
  6. 至此最基本的MongoDb连接和操作都已完成,更多的用法可以浏览相关文档。

    NodeJS 文档
    Mongoose 文档


文章作者: XiaoSenMao
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 XiaoSenMao !
  目录