利用Docker安装MongoDB数据库

打印 上一主题 下一主题

主题 1019|帖子 1019|积分 3057


        大家好,前面跟大家分享了MongoDB数据库的先容以及基本利用,下面继承跟大家分享一下如何利用 Docker 安装 MongoDB 数据库,关于 MongoDB 数据库的先容和基础利用,大家可以参考:
MongoDB数据库基础指南

一、下载MongoDB镜像

  1. docker pull mongo:latest
复制代码
等候镜像下载完成...

下载完成后,查看镜像。


二、创建外部挂载的目录

依次执行下面下令:
  1. # 创建一个名为/data/mongo/config的目录。-p选项表示如果父目录不存在,则同时创建父目录。
  2. mkdir -p /data/mongo/config
  3. # 创建了一个名为/data/mongo/data的目录,用于存储 MongoDB 的数据。
  4. mkdir -p /data/mongo/data
  5. # 创建了一个名为/data/mongo/logs的目录,用于存储 MongoDB 的日志文件。
  6. mkdir -p /data/mongo/logs
  7. # 创建了一个空文件/data/mongo/config/mongod.conf。这个文件是 MongoDB 的配置文件。
  8. touch /data/mongo/config/mongod.conf
  9. # 将/data/mongo目录的权限设置为 777,这意味着任何人都可以对该目录进行读、写和执行操作。
  10. chmod 777 /data/mongo
复制代码
利用 vi 或 vim 编辑器打开mongod.conf文件
  1. vim /data/mongo/config/mongod.conf
复制代码
在文件中添加以下内容(可以根据本身的需求进行调整):
  1. # 数据库存储路径
  2. dbpath=/data/mongo/data
  3. # 日志文件路径
  4. logpath=/data/mongo/logs/mongod.log
  5. # 监听的端口
  6. port=27017
  7. # 允许所有的 IP 地址连接
  8. bind_ip=0.0.0.0
  9. # 启用日志记录
  10. journal=true
  11. # 是否后台运行
  12. fork=true
  13. # 启用身份验证
  14. #auth=true
复制代码
三、启动MongoDB容器

  1. docker run -dit --name mongo \
  2. -p 17017:27017 \
  3. -v /data/mongo/config/mongod.conf:/etc/mongod.conf \
  4. -v /data/mongo/data:/data/db \
  5. -v /data/mongo/logs:/var/log/mongodb \
  6. -e MONGO_INITDB_ROOT_USERNAME=admin \
  7. -e MONGO_INITDB_ROOT_PASSWORD=123456 \
  8. --restart=always  \
  9. mongo
复制代码
下令解释:


  • docker run:运行 Docker 容器的下令。
  • -dit:以守护进程模式运行容器,并在容器内分配一个伪终端。
  • --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。
执行完成后如下图:

查看容器运行状态:

此时,MongoDB数据库容器启动完成!

四、创建数据库用户

进入 mongo 容器内部:
  1. # 如果MongoDB6.0及以上使用
  2. docker exec -it mongo /bin/mongo
  3. # 如果是6.0以下的版本使用
  4. docker exec -it mongo /bin/mongo
复制代码

切换到 admin 库
  1. use admin
复制代码

执行数据库登录操作,否则后面执行下令会提示 MongoServerError[Unauthorized]: Command createUser requires authentication
  1. # 使用创建容器时的用户名和密码
  2. db.auth("admin","123456")
复制代码

登录乐成后,创建新用户 testuser
  1. db.createUser(
  2.         {
  3.                 user:"testuser",
  4.                 pwd:"123456",
  5.                 roles:[{role:"root",db:"admin"}]
  6.         }
  7. );
复制代码

创建完成后,尝试利用上面创建的新用户信息进行连接
  1. db.auth('testuser','123456')
复制代码

返回 { ok:1} 则分析连接乐成。

关于用户的常用下令:

1、更新用户脚色,修改用户权限,不会覆盖原权限信息,只新增权限
  1. db.updateUser("admin",{roles:[{role:"readWrite",db:"admin"}]})
复制代码
2、更新用户密码
  1. db.changeUserPassword("admin","123456")
复制代码
3、删除用户
  1. db.dropUser({'admin'})
复制代码
4、查看所有用户
  1. show users
复制代码

五、利用Navicat连接MongoDB

打开 Navicat 新建数据库连接,选择MongoDB

填写设置信息

填写完成设置信息后,点击左下角“测试连接”按钮

提示连接乐成,此时,在点击右下角“保存”按钮,即可保存连接设置,这样就可以通过Navicat去访问MongoDB数据库了。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用户云卷云舒

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表