docker访问外部数据库_基于 Docker 的远程服务器 MongoDB 部署

2466ebcad2ae5d1b3ef850d3384ae28e.png

目标

使用 Docker 部署 MongoDB ,使远程服务器上能本地访问。

远程服务器设置

首先,需要使用 Docker 拉取 MongoDB 官方镜像。

docker pull mongo

其次,为了能在远程执行访问,需要给 MongoDB 设置密码,赋予访问权限。需要

在执行如下镜像运行命令:

docker run -v /root/data/test_mongo:/data/db -v /root/data/test_mongo_config:/data/configdb -p 27017:27017 -d  mongo --auth

在 docker 容器内登陆客户端,增加新的用户:

docker exec -it e18d3f0074d7 bash
use admin

db.auth("admin", "admin123")

db.createUser(
    {
	user: "admin",
	pwd: "admin123",
	roles: [{role: "userAdminAnyDatabase",db:"admin"}]
    }
  )


db.system.users.find()

exit

上面为用户数据库 admin 添加了用户,

下面需要给准备操作的数据库添加专用的访问认证:

use demo

db.createUser(

       {

              user:"ybl",

              customData:{description:"test user_1"},

              pwd:"926055",

              roles:[{"role":"readWrite","db":"demo"}]

       }

)

返回添加成功的信息,就说明添加好了。

此时,远程服务端配置完毕。

如需登陆验证可在远程服务器上执行:

docker exec -it 7f60db5e10e2 mongo

如需进入容器中查找文件,执行:

docker exec -it db40112ae225 sh

本地客户端设置

可访问的方式有两种:

方式一:在本地使用 mongo 进行访问:

./mongo 192.168.1.200:27017/dbname -u user -p password

方式二: 通过 Python 进行访问:

import pymongo

mongodb_client = pymongo.MongoClient('mongodb://admin:admin123@140.143.17.80:27017')

dblist = mongodb_client.list_database_names()
mongodb = mongodb_client['alltext']
collist = mongodb.list_collection_names()
print(dblist)
print(collist)

MongoDB 中存储的内容在什么位置?

在外部挂载的文件夹下,此处为 /root/db。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值