1:docker-compse 文件编写
自己找个地方,创建个docker-compose文件,我的文件名叫 mongodb.yml 内容如下
version: "3.3" # 根据自己的docker-compose 版本进行配置
services:
mongodb:
image: mongo:4.4.0 #根据需要选择自己的镜像
restart: "no" # 我的是本地虚拟机,测试环境,不需要每次自动重启
container_name: mongodb
ports:
- 27017:27017 #对外暴露停供服务的端口,正式生产的时候理论不用暴露。
volumes:
- /root/work/data/mongodb/db:/data/db # 前面是外面映射的,后面是容器内的挂载数据目录
- /root/work/data/mongodb/log:/var/log/mongodb # 挂载日志目录
- /root/work/data/mongodb/config:/etc/mongo # 挂载配置目录
volumes:
db_data: {}
wordpress_data: {}
2:编写mongodb server的config文件
我的mongodb server的配置文件是映射出来的,放在了/root/work/data/mongodb/config下,mongodb server的配置文件叫做mongod.conf。这里使用单机版的最简单的一个mongodb配置,供学习使用。
vi /root/work/data/mongodb/confi/mongod.conf
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /data/db # 数据路径,数据路径最好挂载出去
journal:
enabled: true
directoryPerDB: true
engine: wiredTiger
wiredTiger:
engineConfig:
cacheSizeGB: 8
directoryForIndexes: true
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log # 日志,日志文件最好映射出去
# network interfaces
net:
port: 27017 # 绑定的端口
bindIp: 0.0.0.0
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
#replication:
replication:
oplogSizeMB: 51200
replSetName: rs0
3:docker-compose 启动
根据yml启动容器
docker-compose -f mongodb.yml up -d
docker ps 查看容器状态
mongodb服务已经正常启动