1 自定义配置文件mongod.conf
- 路径:该配置文件一般存放在
/data/configdb/
目录中,启动容器时,加上--config /data/configdb/mongodb.conf
来加载自定义配置 - 配置文件内容
# mongod.conf dbpath = /data/db logpath = /data/log/mongod.log logappend = true # fork = true bind_ip = 0.0.0.0 port = 27017 # auth = true oplogSize=2048
- 说明
dbpath
数据库文件存储位置,未设置则默认存放在/data/db/
目录中logpath
log文件存储位置logappend
true表示使用追加的方式写日志fork
是否以守护进程方式运行bind_ip
0.0.0.0表示全部ip可以访问port
端口号auth
是否启用认证,不懂不建议启用oplogSize
设置oplog的大小(MB)
2、docker启动命令
- 启动命令
docker run -p 27017:27017 \ -v /Users/chenbinhao/mongodb_27017/db:/data/db \ -v /Users/chenbinhao/mongodb_27017/log:/data/log \ -v /Users/chenbinhao/mongodb_27017/mongod.conf:/data/configdb/mongod.conf \ -d mongo:3.4 --config /data/configdb/mongod.conf
- 参数说明
-p
端口映射-v
数据持久化在宿主机中,主要保存三个位置的数据/data/db
数据文件映射,便于做数据持久化/data/log
日志文件映射,便于查看日志/data/configdb/mongodb.conf
配置文件映射,便于修改配置文件
-d
表示后台进行运行--config /data/configdb/mongodb.conf
使用自定义配置文件启动容器--auth
开启认证,如果没有添加到配置文件mongodb.conf中,也可以添加到命令中mongo:3.4
后面做启动参数
3、docker-compose启动
-
目录结构
├─mongodb │ ├─docker-compose.yml │ ├─config │ │ └─mongod.conf │ ├─log │ │ └─mongod.log │ └─db │ │ └─..
-
配置
docker-compose.yml
文件version: '3' services: mongodb: image: mongo:3.4 restart: always ports: - "27017:27017" volumes: - "./db:/data/db" - "./config/mongod.conf:/data/configdb/mongod.conf" - "./log/mongod.log:/data/log/mongod.log" command: --config /data/configdb/mongod.conf
-
注意:如图标红的都是容器中的路径,不要写成宿主机的路径
-
命令
- 启动:在docker-compose.yml所在目录执行
docker-compse up -d
- 启动:或者指定启动文件
docker-compose -f ./docker-compose.yml up -d
- 停止并删除:
docker-compose down
- 启动:在docker-compose.yml所在目录执行