安装docker-compose
参考官网介绍 docker-compose安装
- 下载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
- 赋予执行权限:
chmod +x /usr/local/bin/docker-compose
- 测试是否安装成功:
docker --version
使用docker-compose启动MongoDB容器
- 比如在home目录下新建mongotest目录并且进入该目录:
mkdir /home/mongotest && cd /home/mongotest
- 新建 docker-compose.yml文件:
vim docker-compose.yml
- 写入以下内容
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
- 执行命令:
docker-compose up -d
启动一个容器 - 查看docker容器:
docker ps -a
- 在docker里使用mongo的shell工具连接mongo服务:
docker exec -it mongotest_mongo_1 mongo
- 新建testdb数据库:
use testdb
- 创建一个 dbOwner 角色的用户
- 进行一些操作
- 使用GUI工具Robo3T连接成功,注意防火墙放行27017端口,同时注意云服务器的防火墙端口放行规则
MongDB的备份和恢复
数据备份
- 执行:
docker ps | grep mongotest
查看检索mongo容器 - 备份:
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保存到的目录 - 将容器中的数据备份文件拷贝到宿主机上:
docker cp e499c3459fbd:/tmp/test /tmp/test
- 查看结果:
cd /tmp && ls
数据恢复
- 执行
docker exec -it mongotest_mongo_1 mongorestore -h localhost -u root -p example --dir /tmp/test
Mongoose操作数据
- 客户端安装nodejs,初始化一个node项目
- 安装 mongoose, 执行
npm install -S mongoose
- 新建 app.js 文件,写入如下内容
- 执行
node app.js
- 使用Robo 3T查看结果
- 至此最基本的MongoDb连接和操作都已完成,更多的用法可以浏览相关文档。