mongodb - 我可以在 mongo Docker 中创建用户、数据库和集合吗?
问题描述
我正在关注 Mongo 文档,用于在第一次启动容器时使用数据库和集合创建 init 用户,但是当我创建具有读写权限的用户时,我无法使用集合“person_file_upload”访问我的“仪表板”数据库,并出现权限被拒绝警告.
我只想创建一个非root用户来读写我的数据库。我的脚本有什么问题吗?
version: '3.8'
services:
mongo:
image: mongo:4.4.3-bionic
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: mypassword
MONGO_INITDB_DATABASE: admin
volumes:
- ./proativa-dashboard-mongo/data:/data/db
- ./proativa-dashboard-mongo/init/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
restart: always
ports:
- "127.0.0.1:27017:27017"
networks:
- mongo
container_name: mongo
db.createUser({
user: 'dashboard',
pwd: 'dashboard',
roles: [{
role: 'readWrite',
db: 'admin',
}]
});
db = db.getSiblingDB('dashboard');
db.createCollection('person_file_upload');
解决方案
推荐阅读
- javascript - 为每个(Greasemonkey)添加一个 div
- python - 为什么显示 ID 的 html 不是文本?使用 Django
- laravel - Laravel:在另一个控制器的视图中注入一个控制器
- python - Tkinter,是否可以定义按钮(a,b,c,e)
- flutter - Flutter:来自 Appbar 的下拉滑块
- .net - 带有 JWT 身份验证的 HttpWebRequest 始终以 401 未授权响应
- javascript - 从对象属性创建对象
- python - Keras LSTM 参数误导文档
- c# - 如何在由 PHP'gzdecode 压缩的 c# 字符串中解码
- c# - 如何对 ReactiveCommand (ReactiveUI) 中的异常进行单元测试?