本文以mongodb6为例,讲解如何在Ubuntu22.04上的docker中安装mongodb6。
一、环境准备
系统 Ubuntu22.04
docker 26.1.4
二、安装mongodb6
拉取镜像(下文都以root用户执行命令):
docker pull mongo:6.0.6
创建docker compose配置文件:
cd /root
mkdir mongodb-docker
cd mongodb-docker
mkdir data logs
chmod 777 -R data/ logs/
# 创建docker-compse.yml配置文件
vim docker-compose.yml
# 内容如下
services:
mongo6:
image: mongo:6.0.6
container_name: mongodb6
ports:
- 27017:27017
volumes:
- /root/mongodb-docker/data:/var/lib/mongodb
- /root/mongodb-docker/logs:/var/log/mongodb
- /root/mongodb-docker/mongod.conf:/etc/mongod.conf
# 映射时区文件
- /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
environment:
TZ: Asia/Shanghai
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: 123456
deploy:
resources:
limits:
# 限制容器使用的内存最多为4GB
memory: 4G
reservations:
# 预留1GB的内存给容器,保证容器至少有1GB的内存可用
memory: 1G
restart: always
创建mongo配置文件:
vim /root/mongodb-docker/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: /var/lib/mongodb
# engine:
wiredTiger:
engineConfig:
# 配置WiredTiger引擎使用内存的上限,单位GB
cacheSizeGB: 6
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
启动容器:
docker-compose up -d
# 可以查看下容器日志
docker-compose logs -f
# 或查看mongo的日志
tail -f /root/mongodb-docker/logs/mongod.log
三、创建用户以及授权
创建或删除用户、授权数据库访问,参考 这里。