新建存放mongodb数据的文件夹
mkdir -p ~/mongodb
创建docker-compose.yml文件
vim docker-compose.yml# 按 i 进入编辑模式,输入以下内容version: '3.8'services: mongo: image: mongo:5 # 选择mongodb版本 restart: always # 自启动 ports: - 27017:27017 # 映射宿主机端口 volumes: - /docker/mongodb/data/db:/data/db # 挂载数据文件,根据实际路径修改 :前的路径 - /docker/mongodb/data/log:/var/log/mongodb # 挂载日志文件,根据实际路径修改 :前的路径 - /docker/mongodb/data/config:/etc/mongo # 挂载配置文件,根据实际路径修改 :前的路径# 按 esc 键,再输入 :wq ,回车退出vim
启动mongodb
# 在docker-compose.yml文件路径下,该方式退出终端失效docker-compose up# 后台启动docker-compose up -d
若使用mongodb默认配置,到此已经完成mongodb安装。若需要修改mongodb启动配置可继续参考下文。
修改mongodb启动配置创建存放配置文件的文件夹
mkdir -p ~/mongodb/conf
创建配置文件 mongod.conf
cd ~/mongodb/confvim mongod.conf#按 i 进入编辑模式,输入以下内容# 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 interfacesnet: port: 27017 bindIp: 0.0.0.0# how the process runsprocessManagement: timeZoneInfo: /usr/share/zoneinfo#replication:replication: oplogSizeMB: 51200 replSetName: rs0
在之前创建的docker-compose.yml文件增加一行配置
cd ~/mongodbvim docker-compose.yml# 按 i 进入编辑模式,输入以下内容version: '3.8'services: mongo: image: mongo:5 # 选择mongodb版本 restart: always # 自启动 ports: - 27017:27017 # 映射宿主机端口 volumes: - /docker/mongodb/data/db:/data/db # 挂载数据文件,根据实际路径修改 :前的路径 - /docker/mongodb/data/log:/var/log/mongodb # 挂载日志文件,根据实际路径修改 :前的路径 - /docker/mongodb/data/config:/etc/mongo # 挂载配置文件,根据实际路径修改 :前的路径 command: --config /docker/mongodb/mongod.conf # 配置文件# 按 esc 键,再输入 :wq ,回车退出vim
再启动就可以啦
cd ~/mongodbdocker-compose up -d
进入mongodb终端窗口Docker Compose 启动时会使用目录名(mongodb)作为项目名称,Docker Compose 会将所有的资源名称中加上前缀 mongodb-。
docker exec -it mongodb-mongo-1 mongo