Linux服务器安装mongodb

因为项目需要做评论功能,领导要求使用mongodb,所以趁机多学习一下。

在服务器我们使用docker安装mongodb

1、拉取mongodb镜像

docker pull mongo (默认拉取最新的镜像)

如果你想指定版本可以这样 docker pull mongo:4.4(拉取4.4版本)

2、查看镜像列表

因为mongodb是NOSQL,所以他的数据也是比较重要的,所以做个持久化,也就是将容器中的数据映射到机器上;

创建存放数据、日志、配置文件的目录:

bash 复制代码
sudo mkdir /data/mongo/config -p
bash 复制代码
sudo mkdir /data/mongo/data
bash 复制代码
sudo mkdir /data/mongo/logs

创建配置文件:

bash 复制代码
sudo touch /data/mongo/config/mongod.conf

/data/mongo 赋予权限

bash 复制代码
sudo chmod 777 /data/mongo

修改配置文件:

bash 复制代码
sudo vim /data/mongo/config/mongod.conf 
bash 复制代码
# 数据库存储路径
dbpath=/data/mongo/data
 
# 日志文件路径
logpath=/data/mongo/logs/mongod.log
 
# 监听的端口
port=27017
 
# 允许所有的 IP 地址连接
bind_ip=0.0.0.0
 
# 启用日志记录
journal=true
 
# 是否后台运行
fork=true
 
# 启用身份验证
#auth=true

3、启动容器

bash 复制代码
sudo docker run -itd --name mongo -p 27017:27017 -v /data/mongo/config/mongo.conf:/etc/mongod.conf -v /data/mongo/data:/data/db -v /data/mongo/logs:/var/log/mongodb -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 --restart=always mongo

命令解释:

docker run:运行 Docker 容器的命令。

-itd:以守护进程模式运行容器,并在容器内分配一个伪终端。

--name mongo:为容器指定一个名称。

-p 17017:27017:将容器的 27017 端口映射到主机的 17017 端口,允许外部访问 MongoDB 数据库。

-v /data/mongo/config/mongod.conf:/etc/mongod.conf:将主机上的/data/mongo/config/mongod.conf文件挂载到容器的/etc/mongod.conf位置,作为 MongoDB 的配置文件。

-v /data/mongo/data:/data/db:将主机上的/data/mongo/data目录挂载到容器的/data/db位置,作为 MongoDB 的数据存储目录。

-v /data/mongo/logs:/var/log/mongodb:将主机上的/data/mongo/logs目录挂载到容器的/var/log/mongodb位置,作为 MongoDB 的日志存储目录。

-e MONGO_INITDB_ROOT_USERNAME=admin:设置 MongoDB 初始化时的 root 用户名为admin。

-e MONGO_INITDB_ROOT_PASSWORD=123456:设置 MongoDB 初始化时的 root 密码为123456。

--restart=always:容器在退出后总是自动重启。

mongo:指定要运行的 Docker 镜像为 MongoDB

4、查看是否启动:sudo docker ps

表示启动成功

相关推荐
笔头子1 分钟前
【Caché】数据库基础操作
数据库
上火的金鱼妹3 分钟前
redis集群部署与连接
数据库·redis·缓存
程序员-Benothing17 分钟前
MySQL 二级索引有 MVCC 快照吗?
数据库·mysql
xiaoxiangsiyan33 分钟前
网络智能化转型核心模块全解析
运维·服务器·网络·数据库·学习·架构·php
不才不才不不才35 分钟前
Spring 源码系列(25): @EnableTransactionManagement 与 TransactionInterceptor
java·数据库·spring
l1t41 分钟前
DeepSeek总结的DuckDB访谈:DuckDB的崛起、扩展与AWS收购
数据库·云计算·aws·duckdb
隔窗听雨眠1 小时前
CI/CD测试数据清理完全指南:从污染根因到三层清理覆盖的完整方案
java·数据库·ci/cd
无定义_1 小时前
Bellman-Ford——贝尔曼福特算法
数据库·算法
盟接之桥1 小时前
半导体供应链破局:EDI如何成为中国制造的数字通行证
大数据·运维·服务器·网络·数据库·人工智能·制造
其实防守也摸鱼1 小时前
ZLibrary 类项目合规避坑指南:从技术实现到法律风险的全景梳理
运维·服务器·数据库·安全·自动化·github·copilot