$docker pull mongo:4.2
$docker images
创建目录:
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
- 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 #镜像版本
最后我们可以通过 docker ps 命令查看容器的运行信息:
接着使用以下命令添加用户和设置密码,并且尝试连接。
mongodb是容器名称
$docker exec -it mongodb mongo admin
# 尝试使用上面创建的用户信息进行连接。 > db.auth('admin', '123456')
10.1.1.196 admin admin/123456
use aoe_mongo
db.createUser({user:'hmf',pwd:'lianshi',roles:['readWrite']})
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连接数据库。
$docker logs mongodb
#进入docker命令
$docker exec -it a3c948d560a9 bash
参考:
https://blog.csdn.net/fen_fen/article/details/122433951