推荐用法
执行如下命令拉取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