如何在Docker中设置带账户权限的MongoDB容器

5,225次阅读
没有评论

共计 1644 个字符,预计需要花费 5 分钟才能阅读完成。

本文将介绍如何在 Docker 中使用官方的 MongoDB 镜像创建一个带有账户权限的容器,并提供详细的步骤和命令

在使用 Docker 进行应用容器化时,有时需要为 MongoDB 数据库设置账户权限以保障数据的安全性。

那么应该如何使用官方的 MongoDB 镜像,在 Docker 中创建一个带有账户权限的 MongoDB 容器。请查看以下步骤

步骤一:拉取官方的 MongoDB 镜像

运行以下命令将下载并 pull 官方的 MongoDB 镜像:

docker pull mongo

步骤二:运行不带 –auth 参数的容器

运行以下命令,,将 MongoDB 容器运行起来,将 /data/db 目录映射到您想要存储数据的位置,并将端口号 27017 映射到所需的端口。

注:不带 –auth 把容器 run 起来

docker run -d -p 27017:27017 -v /your/desired/data/directory:/data/db mongo

步骤三:进入容器并设置账户权限

按照以下顺序运行命令:

步骤 3 -0:进入容器的 bash 终端

docker exec -it  /bin/bash

步骤 3 -1:连接到 MongoDB

mongo

步骤 3 -2:切换到 admin 数据库

use admin

步骤 3 -3:创建管理员用户

db.createUser({user: "admin", pwd: "xxxxxx", roles: [{ role: "userAdminAnyDatabase", db: "admin"}] })

步骤 3 -4:验证管理员用户(可选)

db.auth("admin", "上面的密码")

步骤 3 -5:切换到其他要添加账户信息的数据库

use 其他要添加账户信息的数据库名

步骤 3 -6:创建数据库账户

db.createUser({user: "username", pwd: "password", roles: [{ role: "readWrite", db: "其他要添加账户信息的数据库名"}] })

步骤四:删除容器

可以使用以下命令 删除容器

docker stop 
docker rm 

步骤五:创建带 –auth 参数的容器

为了启用账户权限,创建一个新的 MongoDB 容器,并带有 –auth 参数。使用与步骤二相同的映射设置运行以下命令:

docker run -d -p 27017:27017 -v /your/desired/data/directory:/data/db --name mongodb_auth mongo --auth

步骤六:启动容器并访问数据库

可以使用以下格式访问具有账户权限的 MongoDB 数据库:

mongodb:// 账户: 密码 @host:27017/ 数据库名

步骤七:设置 MongoDB 随系统启动

如果需要 MongoDB 容器随系统启动自动运行,可以使用以下命令:

docker update --restart=always 

如何追加新数据库

如需在现有容器中追加新的数据库,只需重复步骤 3 -1、3-2、3-3(跳过步骤)、3-4、3- 5 和 3 - 6 即可。

通过以上步骤,您可以在 Docker 中创建一个带有账户权限的 MongoDB 容器,并保障数据库的安全性。

本文关键词:Docker, MongoDB, 容器, 账户权限, 设置 文章来源地址 https://www.toymoban.com/diary/docker/530.html

到此这篇关于如何在 Docker 中设置带账户权限的 MongoDB 容器的文章就介绍到这了, 更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持 TOY 模板网!

原文地址:https://www.toymoban.com/diary/docker/530.html

如若转载,请注明出处:如若内容造成侵权 / 违法违规 / 事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于1970-01-01发表,共计1644字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)