ubuntu24.04下Docker部署MongoDB详细指南

Docker部署MongoDB详细指南

在现代的Web开发中,数据库是不可或缺的一部分。MongoDB作为一种流行的NoSQL数据库,因其灵活的文档结构和高性能而广受欢迎。本文将详细介绍如何在Ubuntu 24.04系统上使用Docker部署MongoDB,包括创建存储目录、启动容器、创建用户以及测试连接等步骤。

一、创建MongoDB存储目录并设置权限

首先,我们需要创建一个目录来存储MongoDB的数据文件,并为该目录设置适当的权限。执行以下命令:

sudo mkdir -p /www/app/data/db && sudo chmod 777 /www/app/data/db

这个命令会在/www/app/目录下创建一个名为data/db的文件夹,并将该文件夹的权限设置为777,以确保所有用户都可以读写该目录。

二、创建MongoDB容器

接下来,我们将使用Docker命令来启动一个MongoDB容器。执行以下命令:

sudo docker run -d --name mongodb -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=root_password -v /www/app/data/db:/data/db mongodb/mongodb-community-server:latest

这条命令会执行以下操作:

  • -d:以后台模式运行容器。
  • --name mongodb:将容器命名为mongodb
  • -p 27017:27017:将主机的27017端口映射到容器的27017端口。
  • -e MONGO_INITDB_ROOT_USERNAME=root:初始化数据库时使用的管理员用户名。
  • -e MONGO_INITDB_ROOT_PASSWORD=root_password:初始化数据库时使用的管理员密码。
  • -v /www/app/data/db:/data/db:将主机上的/www/app/data/db目录挂载到容器内的/data/db目录。
  • mongodb/mongodb-community-server:latest:使用最新的官方MongoDB社区版镜像。

三、进入MongoDB容器的Shell

为了进一步操作MongoDB,我们可以进入容器的Shell环境。执行以下命令:

sudo docker exec -it mongodb mongosh --username root --password root_password

此命令将会启动一个交互式的MongoDB shell,并使用我们之前设置的管理员账号进行登录。

四、为数据库创建用户

在MongoDB shell中,我们可以为特定的数据库创建新用户。假设我们要在db_name数据库中创建一个用户,可以执行以下命令:

use db_name;
db.createUser({user: "db_username", pwd: "db_password", roles: [{role: "dbOwner", db: "db_name"}]});

这段JavaScript代码做了以下几件事:

  • use db_name;:选择要操作的数据库。
  • db.createUser(...):创建一个新用户,赋予该用户对指定数据库的完全控制权限(dbOwner角色)。

五、测试连接

为了确认我们的新用户能够成功连接到数据库,我们可以使用以下命令进行测试:

sudo docker exec -it mongodb mongosh -u "db_username" -p "db_password" --authenticationDatabase "db_name"

如果一切配置正确,该命令将会启动一个新的MongoDB shell,并使用我们刚刚创建的用户进行登录。

通过以上步骤,我们已经成功地在Docker中部署了MongoDB,并且创建了一个具有管理权限的新用户。希望这篇技术分享文章对你有所帮助!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容