本文将介绍如何在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 <container_id> /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 <container_id> docker rm <container_id>
步骤五:创建带--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 <容器ID 或 容器名称>
如何追加新数据库
如需在现有容器中追加新的数据库,只需重复步骤3-1、3-2、3-3(跳过步骤)、3-4、3-5和3-6即可。
通过以上步骤,您可以在Docker中创建一个带有账户权限的MongoDB容器,并保障数据库的安全性。文章来源:https://www.toymoban.com/diary/docker/530.html
本文关键词:Docker, MongoDB, 容器, 账户权限, 设置文章来源地址https://www.toymoban.com/diary/docker/530.html
到此这篇关于如何在Docker中设置带账户权限的MongoDB容器的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!