在Docker中,安装MongDB数据库

本教程指导如何在Docker环境下安装MongoDB。首先,通过`docker search mongo`查找MongoDB镜像,然后使用`docker pull mongo:latest`下载最新镜像。接着,运用`docker run`命令创建并启动容器。进入容器后,利用MongoDB的shell创建名为admin的用户,密码为123456,并赋予相应权限。最后,使用创建的凭证连接数据库。

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

在docker中安装MongoDB
  1. 搜索hub,查看是否有合适的mongo镜像
sudo docker search mongo

image-20220103192828163

  1. 拉取mongo最新镜像
sudo docker pull mongo:latest
  1. 生成mongo容器
sudo docker -it --name mongodb -p 27017:27017 mongo:latest --auth
  1. 进入容器,设置用户名和密码
sudo docker exec -it mongodb mongo admin 
  1. 创建一个用户名为admin,密码为123456的新用户
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
  1. 使用上面的用户名和密码进行数据库连接
db.auth('admin','123456');
### 启动 MongoDB 服务的 Docker Compose 配置 为了通过 `docker-compose` 文件配置并启动 MongoDB 服务,可以按照以下方法操作。以下是完整的配置文件以及相关说明。 #### 1. 创建 `docker-compose.yml` 文件 在指定目录下创建一个名为 `docker-compose.yml` 的文件,并写入如下内容: ```yaml version: '3.8' services: mongo: image: mongo:7.0.12 container_name: mongodb_container restart: always environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: example ports: - "27017:27017" volumes: - ./data:/data/db - ./config:/etc/mongo command: ["mongod", "--replSet", "rs0"] ``` 上述配置中: - **image**: 使用官方镜像版本 `mongo:7.0.12`[^1]。 - **environment**: 设置初始管理员用户名和密码[^2]。 - **ports**: 将容器内的端口 `27017` 映射到主机上的相同端口。 - **volumes**: 挂载数据存储路径 `/data/db` 和自定义配置路径 `/etc/mongo` 到宿主机上对应的目录[^3]。 - **command**: 添加命令参数以启用副本集模式 (`--replSet rs0`)。 #### 2. 初始化 Replica Set 完成部署后,需手动初始化 replica set。进入运行中的 MongoDB 容器执行以下命令: ```bash docker exec -it mongodb_container bash mongo --username root --password example <<EOF rs.initiate({ _id : "rs0", members: [ { _id: 0, host: "localhost:27017" } ] }) EOF ``` 此脚本会连接至数据库实例并调用 `rs.initiate()` 方法来设置单节点副本集。 #### 3. 启动与停止服务 使用以下命令分别启动或关闭基于该 compose 文件的服务: - 启动: ```bash docker-compose -f /path/to/docker-compose.yml up -d ``` - 停止: ```bash docker-compose -f /path/to/docker-compose.yml down ``` 以上步骤能够成功构建一个基础版带有复制功能的 MongoDB 实例。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值