拉取镜像
docker pull mongo
创建挂载目录
命令1> cd /data/
命令2> mkdir mongo
命令3> cd mongo
命令4> mkdir data logs conf
命令5> chmod 777 data
命令6> touch logs/mongod.log
命令7> chmod 777 logs/mongod.log
命令8> touch conf/mongod.conf
命令9> chmod 766 conf/mongod.conf
设置配置文件
# 数据库文件存储位置
dbpath = /data/db
# log文件存储位置
logpath = /data/log/mongod.log
# 使用追加的方式写日志
logappend = true
# 是否以守护进程方式运行
# fork = true
# 全部ip可以访问
bind_ip = 0.0.0.0
# 端口号
port = 27017
# 是否启用认证
auth = true
# 设置oplog的大小(MB)
oplogSize=2048
启动
docker run -itd --name mongodb --restart=always --privileged -p 27017:27017 -v /data/mongo/data:/data/db -v /data/mongo/conf:/data/configdb -v /data/mongo/logs:/data/log/ mongo:latest -f /data/configdb/mongod.conf
说明:
# --restart=always Docker服务重启容器也启动
# --privileged 拥有真正的root权限
# -f 指定配置文件
创建账号
进入容器:docker exec -it mongodb mongo admin
命令1> db.createUser({user:'root',pwd:'5110',roles:['root']})
db.createUser({ user:'root',pwd:'5110',roles:[ { role:'userAdminAnyDatabase', db: 'root'},"readWriteAnyDatabase"]});
命令2> db.auth('root','5110')
mongo相关操作命令
# 登录账户
mongo db -u user -p pass
或者:
mongo
use 数据库名
db.auth('user','pass')
# 查看当前用户所拥有的数据
show dbs;
# 切换执行数据库
use db;
# 查询当前数据库的表信息
show collections;
# 创建数据库表
db.createCollection("table");
# 插入一条数据
db.hello2.insert({"name":"lfqy"})
g9Uy@iUG4RtCvLcBCw