【Docker应用篇】Docker安装 Mongodb
docker 部署 Mongodb
拉取镜像
docker pull mongo
可以查看镜像是否下载成功
docker images | grep mongo
docker 安装 mongodb
docker run --name mongodb -v /data/mongodb0:/data/db -p 27017:27017 -d mongo
执行上述命令之后, 一个挂载了 mongo镜像的容器就开始运行了
--name
设置了容器的名字-v
设置了路径的映射, 将本地路径映射到容器中. 此处, 路径可以自定义-p
设置了端口的映射, 将容器的27017(右侧) 映射到了本地的27017(右侧)
进入容器.
docker exec -it mongodb bash
上述命令的意思如下:使用交互的形式, 在 名字为 mongodb
的容器中实行 bash
这个命令
mongodb
的使用
用户的创建
输入以下命令进入 mongo
创建用户
# 进入 admin 的数据库
> use admin
switched to db admin
# 创建管理员用户
> db.createUser(
... {
... user: "admin",
... pwd: "123456",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
... }
... )
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
# 创建有可读写权限的用户. 对于一个特定的数据库, 比如'demo'
> db.createUser({
... user: 'test',
... pwd: '123456',
... roles: [{role: "read", db: "demo"}]
... })
Successfully added user: {
"user" : "test",
"roles" : [
{
"role" : "read",
"db" : "demo"
}
]
}
数据库的建立
use demo;
mongo 是否正常启动的校验
先写入一条数据
db.info.save({name: 'test', age: '22'})
查看写入的数据
db.info.find();
结果如下
# 数据库的建立
> use demo;
switched to db demo
# 先写入一条数据
> db.info.save({name: 'test', age: '22'})
WriteResult({ "nInserted" : 1 })
#
> db.info.find();
{ "_id" : ObjectId("5ed4cc9c3f1db5d1d0e02f01"), "name" : "test", "age" : "22" }
远程连接的开启
可以使用先MongoDB Compass可视化工具连接,如果能成功连接可以不配置
连接不成功需要配置如下:
在 mongodb
的容器当中
#更新源
apt-get update
# 安装 vim
apt-get install vim
# 修改 mongo 配置文件
vim /etc/mongod.conf.orig
将其中的bindIp: 127.0.0.1
注释掉# bindIp: 127.0.0.1
或者改成bindIp: 0.0.0.0
即可开启远程连接
使用MongoDB Compass可视化工具连接服务并查看
连接成功
查看添加的数据