docker安装mongo容器并挂载外部配置文件及目录

提示这是我的个人IT资源网站,所有资源都免费,注册登录后就可以看到密码,需要什么大家尽情选取!
今天来总结一下docker安装mongo并挂载外部配置文件及目录

1.拉取mongo镜像

docker pull mongo:4.0

在这里插入图片描述
2.创建配置文件及目录

mkdir -p /data/mongo/conf
mkdir -p /data/mongo/data
mkdir -p /data/mongo/log
cd /data/mongo/conf
vim mongodb.conf
然后将下面配置文件内容粘贴复制
#端口
port=27017
#数据库文件存放目录
dbpath=/data/mongo/data
#日志文件存放路径
logpath=/data/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

3.创建容器

docker run -d -p 27017:27017 -v /data/mongo/data:/data/db -v /data/mongo/conf:/data/conf -v /data/mongo/log:/data/log --name mongo mongo:4.0

在这里插入图片描述

### 如何在 Docker 中配置和使用目录映射 #### 配置 Docker 目录映射的基础概念 Docker 提供了一种机制来共享主机文件系统中的特定路径给容器,这被称为卷 (volume) 或绑定挂载 (bind mount),具体取决于使用的参数。通过这种方式可以在宿主机上持久化保存数据或让多个容器之间共享相同的数据。 对于想要向正在运行的容器添加新的目录映射的情况,在不重启该容器的前提下直接修改其配置不是推荐的做法[^2];更常见的是停止移除旧容器实例之后创建一个新的带有所需 `-v` 参数的新容器实例。 #### 使用 `docker run` 命令实现目录映射 当启动新容器时可以通过命令行选项轻松完成此操作: ```bash docker run -it -d \ -v /E/projects/swoft:/var/www/swoft \ # 绑定挂载示例 -p 18306:18306 \ --name swoft.local \ swoft/swoft \ bash -c "php ./bin/swoft http:start" ``` 上述命令中 `-v` 后面跟的就是要映射的两个路径之间的关系:左边是宿主机上的绝对路径 `/E/projects/swoft` ,右边则是容器内部的目标位置 `/var/www/swoft` 。这样做的好处是可以方便地访问位于宿主机上的项目源码或其他资源而无需将其打包进镜像里[^4]。 #### 对于 MySQL 和 MongoDB 这样的数据库服务来说 通常会希望把重要的配置文件以及存储引擎产生的日志、索引等都放在外部可管理的位置上来确保即使容器被销毁也能保留下来这些重要资料。例如下面这条用于启动MongoDB服务端口监听地址为localhost且对外开放指定端口号的同时还指定了一个名为admin用户的认证信息: ```bash docker exec -it mongodb mongo --host 127.0.0.1 --port 27037 admin ``` 这里没有显式给出关于如何做目录映射的信息,但在实际部署过程中往往也会涉及到类似的操作以便更好地管理和维护应用环境下的各类资产[^3]。 #### 修改现有容器的 Mount Points 方法 如果确实有需求要在不停机的情况下调整某个已有容器内的挂载点,则可能需要借助一些高级技巧比如利用 overlayfs 来叠加额外层面上的变化覆盖原有结构从而达到目的。不过这种方法较为复杂而且容易引发兼容性和稳定性方面的问题所以不建议轻易尝试除非非常清楚自己在做什么且能够承担相应风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值