news 2026/4/19 17:31:45

docker安装mongodb

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
docker安装mongodb

一、前期准备

1.在服务器上面创建三个目录做为挂载到docker (/mongo/data,/mongo/logs,/mongo/conf )

由于我们要把宿主的配置文件同步容器中,所以要在/mogo/conf创建mogodb的配置文件

mongod.conf ,内容如下:

# 系统日志 systemLog: destination: file # 输出到文件 path: /var/log/mongodb/mongod.log # 必须与挂载卷对应 logAppend: true # 重启时追加,不截断 verbosity: 0 # 日志级别 0-5,数字越大越详细 # 数据存储 storage: dbPath: /data/db # 数据目录,必须与挂载卷对应 # 64 位系统默认开,崩溃可恢复 wiredTiger: # 3.2+ 默认引擎 engineConfig: cacheSizeGB: 2 # WT 缓存,≈(物理内存-1GB)/2,最小 256M directoryForIndexes: false # 索引与数据放同目录 collectionConfig: blockCompressor: snappy # 集合压缩算法 snappy/zstd/zlib indexConfig: prefixCompression: true # 索引前缀压缩 # 进程管理 processManagement: fork: false # 容器里必须 false,前台运行 pidFilePath: /tmp/mongod.pid # 容器内路径即可 # 网络 net: port: 27017 bindIp: 0.0.0.0 # 允许所有网卡访问,配合 -p 27017:27017 maxIncomingConnections: 65536 # 最大并发连接,默认 65536 # 安全(第一次建完管理员后再开) security: authorization: disabled # 开启鉴权,第一次启动前可先 disabled 建用户 # keyFile: /data/mongodb-keyfile # 副本集/分片时再加 # 复制集(单节点可省略) # replication: # replSetName: rs0 # 分片(单节点可省略) # sharding: # clusterRole: shardsvr # 审计、SNMP、setParameter 等按需再补

注意点:由于我们新建mongodb没有账号所以在配置时,为disabled ,如果创建的用户可以改为【enabled】

# 安全(第一次建完管理员后再开)
security:
authorization: disabled

2.容器里 MongoDB 进程以UID 999(mongodb)身份运行,往/var/log/mongodb/mongod.log写文件时没有写权限,所以依旧报FileNotOpen

# 方案 B:生产环境推荐(把属主直接给容器内的 mongodb 用户) chown -R 999:999 /mongo/logs

二、使用命令

docker run -d --name mongo-prod --restart=unless-stopped -p 27017:27017 -v /mongo/data:/data/db -v /mongo/logs:/var/log/mongodb -v /mongo/conf/mongod.conf:/etc/mongod.conf:ro mongo:7.0.14 mongod --config /etc/mongod.conf

解读说明:

  1. docker run -d
    -d= detached,容器在后台运行。

  2. --name mongo-prod
    给容器起个名字叫mongo-prod,方便后续docker stop/start/logs直接引用。

  3. --restart=unless-stopped
    只要 Docker 服务活着,容器退出就自动重启;手动 stop才不重启。

  4. -p 27017:27017
    把宿主机的 27017端口映射到容器内的27017(MongoDB 默认端口)。
    外部连接串写mongodb://宿主机IP:16017

  5. 三个-v挂载(核心)
    a)-v /mongo/data:/data/db
    宿主机真实数据目录 → 容器内 MongoDB 数据路径。
    容器删了数据也在。
    b)-v /mongo/logs:/var/log/mongodb
    宿主机日志目录 → 容器内日志路径。
    保证mongod.log落在宿主机,方便查日志。
    c)-v /mongo/conf/mongod.conf:/etc/mongod.conf:ro
    宿主机配置文件 → 容器内/etc/mongod.conf只读(:ro),防止容器内误改。

  6. mongo:7.0.14
    使用的镜像版本号,固定 7.0.14,不会自动升级。

  7. mongod --config /etc/mongod.conf
    容器启动后执行的命令:
    用刚才挂进去的配置文件启动mongod进程。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 14:21:16

我的网络安全实战学习笔记:记录从零到熟练的每个关键步骤与工具

01 什么是网络安全 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面…

作者头像 李华
网站建设 2026/4/18 4:04:27

Langchain-Chatchat结合OCR技术处理扫描版PDF

Langchain-Chatchat 结合 OCR 技术处理扫描版 PDF 在企业知识管理日益智能化的今天,一个常见的难题浮出水面:大量历史文档以扫描图像的形式沉睡在档案库中。这些 PDF 文件看似清晰可读,实则对计算机而言是一片“黑盒”——没有文本层&#xf…

作者头像 李华
网站建设 2026/4/18 15:38:26

Langchain-Chatchat问答系统可解释性增强方法探索

Langchain-Chatchat问答系统可解释性增强方法探索 在企业知识管理日益复杂的今天,一个看似简单的问题——“年假是多少天?”——却可能牵出一连串的信任危机:员工不相信AI的回答是否准确,法务部门质疑其来源是否合规,I…

作者头像 李华
网站建设 2026/4/17 15:15:27

Langchain-Chatchat能否接入语音识别实现语音问答?

Langchain-Chatchat能否接入语音识别实现语音问答? 在企业知识管理日益智能化的今天,越来越多组织希望构建一个既能保障数据隐私、又能提供自然交互体验的本地化问答系统。Langchain-Chatchat 作为当前开源社区中“本地知识库 大语言模型”架构的代表作…

作者头像 李华
网站建设 2026/4/17 15:09:26

Langchain-Chatchat能否接入外部数据库作为知识源?

Langchain-Chatchat 能否接入外部数据库作为知识源? 在企业智能化转型的浪潮中,一个常见的痛点浮出水面:我们拥有海量的结构化数据——从 CRM 系统中的客户记录,到 ERP 中的订单流水,再到内部 Wiki 和产品手册。但这些…

作者头像 李华
网站建设 2026/4/17 14:26:20

西双版纳25℃过年?避寒首选曝光

周末去开展短途旅行的时候,不必为攻略而犯愁,有6座高铁可以直接到达的城市,这里面包含着从古城的烟火韵味,到山城那种充满奇幻色彩的多元风情,并且初冬的6个天花板去处,还以反向出游的静谧,开启…

作者头像 李华