mongoDB在mac下的安装和启停

本文详细介绍了如何从官网下载并安装MongoDB,包括配置数据库文件路径、启动和关闭服务的过程,以及通过Robomongo等工具进行管理的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,在mongoDB官网下载安装包

https://www.mongodb.org/downloads

在下方的链接处下载最新版本

2,下载完成后,点击解压压缩包

3,拷贝解压后的文件夹到你想安装的目录

4,打开终端 (以下斜体字为需要输入的命令)

cd 你安装的目录 

ls 

可以看到有bin文件夹 和其它说明文档

创建数据库文件

sudo mkdir -p /data/db

这时候会提示你输入计算机的管理密码

给文件赋权限

sudo chown -R  你的计算机用户名 /data

5,启动mongoDB

cd 到bin目录下

ls 

可以看到很多mongo的执行文件

./mongod  

启动成功,最后面一行显示的有端口号

6,关闭mongoDB

---------------------------------------------------------

开启另外一个终端(方法见我之前的日志)

---------------------------------------------------------

cd 到bin目录下

ls 

可以看到很多mongo的执行文件

./mongo

此时连接到mongoDB

使用admin用户来关闭mongoDB

use admin

db.shutdownServer();

7,管理mongoDB

下载管理工具,这里我使用的是Robomongo(没有什么特殊原因,我只下载了这一个)

地址:http://robomongo.org/

安装完毕后,就可以使用它管理mongoDB了

<think>我们正在处理用户的问题:在Docker中安装MongoDB并配置开机自启动。根据用户要求,我们需要完成以下任务:1.安装MongoDB在Docker中2.配置MongoDB容器在宿主机开机时自动启动参考引用:[^1]提到了配置dockerdaemon开机自启动的命令(`sudosystemctlenable docker`),但用户需要的是MongoDB容器的开机自启动。[^2]展示了进入容器的命令,但与我们当前问题关系不大。[^3]提到安装Docker Compose以及设置虚拟机内存,但用户没有明确使用Compose,不过我们可以考虑使用Compose来管理容器。[^4]提到了使用Docker Compose启动集群,这给我们一个提示:可以使用Compose文件来定义容器并设置自启动。[^5]提到MongoDB以及npm镜像源配置,但这里我们关注MongoDB安装。解决方案有两种:方法一:使用`dockerrun`命令创建容器时,使用`--restart`参数设置重策略。方法二:使用Docker Compose文件定义服务,并设置重策略,然后使用docker-compose up来启动。由于用户要求“配置开机自启动”,实际上是指宿主机重后,MongoDB容器自动启动。Docker提供了重策略(restart policy)来实现这一点。具体步骤:方法一:使用docker run1.拉取MongoDB镜像:`dockerpull mongo`2.运行容器,并设置`--restart`参数为`always`(表示无论容器退出代码是什么,都重容器)或者`unless-stopped`(表示除非用户手动停止,否则重容器)。例如:```dockerrun -d --name mongodb -p27017:27017 --restartalways mongo```这样,当宿主机重后,这个容器会自动启动。方法二:使用Docker Compose(推荐,因为更易于管理)1.确保已安装Docker Compose(参考引用[^3]的链接)。2.创建一个docker-compose.yml文件,内容如下:```yamlversion: '3'services:mongodb:image:mongocontainer_name: mongodbports:- "27017:27017"restart: always```3.在存放docker-compose.yml的目录下运行:`docker-composeup -d`4.为了确保Docker服务本身开机自启动(这样容器才能自动启动),需要运行(参考引用[^1]):```sudosystemctlenable docker```注意:`restart: always`在DockerCompose中的效果与`--restartalways`相同。因此,完整的步骤可以归纳为:步骤1:安装Docker并设置开机自启动(如果尚未安装)步骤2:安装Docker Compose(可选,但推荐)步骤3:创建Docker Compose文件(或直接使用docker run命令)步骤4:启动容器步骤5:验证MongoDB是否运行详细步骤:1.安装Docker(如果未安装):参考官方文档:https://docs.docker.com/engine/install/2.设置Docker服务开机自启动(引用[^1]):```sudosystemctlenable docker```3.安装DockerCompose(引用[^3]):参考:https://docs.docker.com/compose/install/4.创建docker-compose.yml文件(例如在~/mongodb目录下):```yamlversion: '3.8'services:mongodb:image:mongo:latestcontainer_name: mongodbports:- "27017:27017"volumes:-mongodb_data:/data/dbrestart: alwaysvolumes:mongodb_data:```这里添加了数据卷以持久化数据。5.在docker-compose.yml所在目录执行:```docker-compose up-d```6.检查容器状态:```docker ps```7.测试MongoDB连接:```docker exec-itmongodbmongosh```这样,当宿主机重时,Docker服务会自动启动,然后MongoDB容器也会自动启动(因为设置了restart: always)。如果用户不使用Compose,则使用dockerrun命令:```docker run-d\--name mongodb \-p27017:27017 \-v mongodb_data:/data/db\--restart always\mongo:latest```注意:数据卷`mongodb_data`会被自动创建,用于持久化存储。因此,回答用户的问题,我们可以提供两种方法,并推荐使用Docker Compose方式。根据系统指令,我们需要生成相关问题。相关问题:1.如何验证MongoDB在Docker容器中正常运行?2.如何配置MongoDB的数据持久化存储?3.Docker容器的重策略有哪些?分别代表什么含义?4.如何更新Docker中的MongoDB版本?5.如何卸载通过Docker安装MongoDB?现在,我们按照要求编写回答。</think>### 在Docker中安装MongoDB并配置开机自启动 以下是分步操作指南(以Linux系统为例): #### 1. **安装MongoDB容器** ```bash # 拉取官方MongoDB镜像 docker pull mongo:latest # 创建数据持久化目录 sudo mkdir -p /docker/mongodb/data # 运行MongoDB容器(配置端口映射持久化存储) docker run -d \ --name mongodb \ -p 27017:27017 \ -v /docker/mongodb/data:/data/db \ -e MONGO_INITDB_ROOT_USERNAME=admin \ -e MONGO_INITDB_ROOT_PASSWORD=yourpassword \ mongo:latest ``` #### 2. **配置容器开机自启动** ```bash # 设置容器自动重策略(核心步骤) docker update --restart=always mongodb # 验证配置 docker inspect mongodb | grep -A 5 RestartPolicy ``` > **关键参数说明**: > - `--restart=always`:当宿主机重时,容器自动启动[^1] > - `unless-stopped`:如果容器未被手动停止,则随Docker服务启动 #### 3. **确保Docker服务自** ```bash # 用Docker守护进程开机自启动(必须先配置) sudo systemctl enable docker.service ``` [^1] #### 4. **验证MongoDB服务** ```bash # 进入容器内部 docker exec -it mongodb mongosh -u admin -p yourpassword # 执行MongoDB命令 > show dbs > exit ``` #### 5. **测试自启动功能** ```bash # 重宿主机 sudo reboot # 重后检查容器状态 docker ps -a | grep mongodb # 应显示"Up"状态启动策略 ``` ### 补充说明 1. **持久化存储**: 通过`-v`参数映射的宿主机目录确保数据不会因容器重而丢失 2. **安全建议**: - 修改`yourpassword`为强密码 - 生产环境建议添加`--auth`参数用认证 $$ \text{安全评分} = \frac{\text{密码强度} \times \text{认证机制}}{ \text{暴露端口风险} } $$ 3. **防火墙配置**: 若需外部访问,开放27017端口: ```bash sudo ufw allow 27017 ``` ### 常见问题排查 | 现象 | 解决方案 | |------|----------| | 容器未自动启动 | 检查`docker update --restart`是否配置正确 | | 连接认证失败 | 确认环境变量`MONGO_INITDB_ROOT_*`设置正确 | | 数据写入失败 | 检查宿主机目录权限:`sudo chown -R 1000:1000 /docker/mongodb` |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值