一、拉取mongo镜像

docker pull mongo:7.0.16

二、创建挂载路径

创建两个路径
/dataconf

三、创建 mongod.conf 配置文件

systemLog:
   destination: file
   path: "/var/log/mongodb/mongod.log" 	# mongod或mongos应该将所有诊断日志信息发送到的日志文件的路径,而不是标准输出或主机的syslog。MongoDB在指定的路径上创建日志文件。
   logAppend: true # 当为true时,当mongos或mongod实例重新启动时,mongos或mongod将新条目追加到现有日志文件的末尾。如果没有这个选项,mongod将备份现有日志并创建一个新文件。

# 要求连接到 MongoDB 服务器的客户端必须通过身份验证,才能执行任何操作。
security:
  authorization: enabled

net:
   # bindIp是 ,它强制 服务器,以仅侦听本地主机 IP 上的请求。仅绑定到 应用程序级系统可以访问的安全接口 系统网络过滤提供的访问控制 (即”localhost防火墙").
   bindIp: 0.0.0.0 # 改成 0.0.0.0 就变成远程连接了
   port: 27017
   
setParameter:
   enableLocalhostAuthBypass: false
   # 当 enableLocalhostAuthBypass 参数设置为 true 时,MongoDB 允许来自本地主机(即 127.0.0.1 或 localhost)的连接不需要进行身份验证就可以访问数据库。
   # 而当 enableLocalhostAuthBypass 参数设置为 false 时,则需要对来自本地主机的连接进行身份验证,才能访问 MongoDB 数据库。

四、执行容器命令

docker run -p 27017:27017 --name mongo7.0.16 -v D:\docker\mongo7.0.16\data:/data/db -v D:\docker\mongo7.0.16\conf:/etc/mongo -e MONGO_INITDB_ROOT_USERNAME=yonghuming -e MONGO_INITDB_ROOT_PASSWORD=mima -e TZ=Asia/Shanghai -d mongo:7.0.16 --config /etc/mongo/mongod.conf --auth