Docker搭建MongoDB创建集合

46 阅读4分钟

摘要

本文介绍了如何使用Docker部署mongodb服务器,并通过mongodb compass来连接使用,创建集合,让我们拿下它。

Docker搭建MongodDB服务器

docker pull mongo:latest

图片

docker images

图片

启动容器

docker run --name mongodb -d -p 27017:27017 -v /data/mongo/data:/data/db -v /data/mongo/logs:/var/log/mongodb -v /data/mongo/config/mongod.conf:/etc/mongod.conf -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 --restart=always mongo

图片

这一步嫌麻烦,可以直接使用docker compose完成,同时通过js初始化用户集合

图片

name: mongodb
services:
    mongodb:
      container_name: mongodb
      image: mongodb:latest
      ports:
        - "27017:27017"
      environment:
        - MONGO_INITDB_ROOT_USERNAME=admin
        - MONGO_INITDB_ROOT_PASSWORD=123456
      volumes:
        - mongodb_data:/data/db
        - mongodb_logs:/var/log/mongodb
        - ./mongod.conf:/etc/mongod.conf #自定义MongoDB配置
        - ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js#初始化数据库,启动时,会自动执行这个js文件
      restart: always
      networks:
        - mongodb_net

#卷名声明
volumes:
  #持久化数据和日志
  mongodb_data:
  mongodb_logs:
#网络声明
networks:
  mongodb_net:
db.auth('admin''123456');

db = db.getSiblingDB('mydatabase');

db.createCollection('users');

db.users.insertMany([
  { name'oakwang', email'oakwang@example.com' },
  { name'coffeebeans', email'coffeebeans@example.com' }
]);

print('初始化数据库用户');

进入内核bash

docker exec -it 505 /bin/mongosh

0

切换到admin库

use admin

图片

使用创建容器时的用户名和密码

db.auth("admin","123456")

图片

创建新用户oakwang

db.createUser(
    {
        user:"oakwang",
        pwd:"123456",
        roles:[{role:"root",db:"admin"}]
    }
);

0

创建完成后,使用新用户连接

db.auth('oakwang','123456')

0

其他操作命令:

#更新用户权限
db.updateUser("oakwang",{roles:[{role:"readWrite",db:"admin"}]})

#更新用户密码
db.changeUserPassword("oakwang","123456")

#删除用户
db.dropUser({'oakwang'})

#查看所有用户
show users

 

工具连接mongodb

下载官方推荐的查询工具,也可以使用navicathttps://www.mongodb.com/try/download/atlascli图片

打开后的初始界面(静默安装,路径都不让选)

图片

设置已安装好的mongodb地址

mongodb://oakwang:123456@192.168.233.129:27017/?authSource=admin

图片

可查看系统默认的启动日志集合

图片

创建一个集合,后续就可以增删改查了。

图片图片

总结

以上我们使用Docker部署了一个mongodb服务器,并通过mongodb compass来连接使用,后续我们将讲述如何插入数据并使用常见的语句操作数据库,更高级地集成在spring项目中使用。

关注公众号:咖啡Beans

在这里,我们专注于软件技术的交流与成长,分享开发心得与笔记,涵盖编程、AI、资讯、面试等多个领域。无论是前沿科技的探索,还是实用技巧的总结,我们都致力于为大家呈现有价值的内容。期待与你共同进步,开启技术之旅。