Mongo(5):Docker下安装Mongo4.2(挂载配置文件和数据)

Docker下安装Mongo4.2(挂载配置文件和数据)

1、docker pull mongo:version:拉取对应版本的镜像

 $docker pull mongo:4.2

 2、查看是否有Mongo镜像

$docker images

 3、创建目录和配置文件

创建目录:
mkdir -p /root/mongo/data
mkdir -p /root/mongo/conf
mkdir -p /root/mongo/log
创建文件:
cd /root/mongo/conf
vim mongodb.conf

#端口
port=27017
#数据库文件存放目录
dbpath=/root/mongo/data
#日志文件存放路径
logpath=/root/mongo/log
#使用追加方式写日志
logappend=true
#以守护线程的方式运行,创建服务器进程
fork=true
#最大同时连接数
maxConns=100
#不启用验证
#noauth=true
#每次写入会记录一条操作日志
journal=true
#存储引擎有mmapv1、wiredTiger、mongorocks
storageEngine=wiredTiger
#访问IP
bind_ip=0.0.0.0
#用户验证
#auth=true

4、运行mongo容器(外挂载配置文件和数据)

docker run -d \
--name mongodb  \
-p 27017:27017 \
-v /root/mongo/data:/data/db \
-v /root/mongo/conf:/data/conf \
-v /root/mongo/log:/data/log \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
--privileged=true \
--restart always \
mongo:4.2

参数说明

-d   #后台运行容器
–name mongodb   #运行容器名
-p 27017:27017   #将容器的27017端口映射到主机的27017端口,外部可以直接通过 宿主机                                 ip:27017 访问到 mongo 的服务。

(将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口)
-v /root/mongo/data:/data/db    #文件挂载目录
-v /root/mongo/conf:/data/conf  #配置文件路径
-v /root/mongo/log:/data/log    #日志路径
-e MONGO_INITDB_ROOT_USERNAME=admin   #指定用户名
-e MONGO_INITDB_ROOT_PASSWORD=123456  #指定密码
–privileged=true  #使得容器内的root拥有真正的root权限
–restart always #跟随docker一起启动,即docker启动时会自动运行容器
mongo:4.2  #镜像版本

5、安装成功

最后我们可以通过 docker ps 命令查看容器的运行信息:

接着使用以下命令添加用户和设置密码,并且尝试连接。

 mongodb是容器名称

$docker exec -it mongodb mongo admin

# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')

 6、客户端工具连接,连接成功。

10.1.1.196   admin    admin/123456

 

 7、创建新数据库aoe_mongo,创建用户hmf并授权

use aoe_mongo
db.createUser({user:'hmf',pwd:'lianshi',roles:['readWrite']})

 8、使用新的用户访问-->正常连接

9、创建集合,插入和查询数据

db.autotest.insert(
{
"aoeId": "1", "aoeAes": "吴秀梅", "aoeSm4": "Beijing Refining Network Technology Co.Ltd.", "aoeSm4_a": "海淀区", "aoeEmail": "qianxiulan@yahoo.com", "aoePhone": "15652996964", "aoeIdCard": "210302199608124861", "aoeOfficerCard": "武水电字第3632734号", "aoePassport": "BWP018930705", "aoeGeneralIdCard": "0299233902", "aoeCreditCard": "6212262502009182455", "aoePosition": "测试数据"}
)

 之后可以将连接信息中Auth DB更改为aoe_mongo、User Name更改为hmf、Password更改为lianshi连接数据库。

10、其他docker命令

$docker logs mongodb

#进入docker命令

$docker exec -it a3c948d560a9 bash

参考:

https://blog.csdn.net/fen_fen/article/details/122433951

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宁宁可可

您的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值