推荐用法

执行如下命令拉取Mongo镜像:

docker pull mongo
创建Mongo专用的文件夹:

cd /mnt
mkdir mongodb
cd ./mongodb
mkdir data
mkdir backup
执行如下命令启动MongoDB:

docker run --name mongo -p 27017:27017 -v /mnt/mongodb/data:/data/db -v /mnt/mongodb/backup:/data/backup -d mongo --auth

接下来,我们需要进入容器的命令行去创建用户名和密码:

docker exec -it mongo mongo admin
db.createUser({ user: 'will', pwd: 'will', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });

 db.grantRolesToUser ( "will", [ { role: "__system", db: "admin" } ] )

use test;
db.createUser({user:"testuser",pwd:"testpass",roles:["readWrite"]});
db.auth("testuser","testpass")

在运行一段时间以后,我们可以执行如下命令进行数据库备份:

 

docker exec mongo sh -c 'exec var=`date +%Y%m%d%H%M` && mongodump -h localhost --port 27017 -u jsmith -p password -d dbname -o /data/backup/$var_test1.dat'

mongodb远程连接配置如下:

1.修改配置文件mongodb.conf

命令:vim /etc/mongodb.conf

把 bind_ip=127.0.0.1 这一行注释掉或者是修改成 bind_ip=0.0.0.0

 

2.重启mongodb服务

命令:/etc/init.d/mongodb restart

2.1防火墙开放27017端口

命令:iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT

 

3.远程连接

要连接的IP:134.567.345.23

命令:mongo 134.567.345.23:27017

这样就可以连接到134.567.345.23的mongodb/test的数据库

 

 

//指定用户名和密码连接到指定的MongoDB数据库

mongo 192.168.1.200:27017/test -u user -p password

MongoDB连接远程服务器的命令格式如下:

mongo 远程主机ip或DNS:MongoDB端口号/数据库名 -u user -p password