社区首页 >问答首页 >Docker compose mongo不会创建root用户

Docker compose mongo不会创建root用户
EN

Stack Overflow用户
提问于 2020-01-22 14:43:08
回答 2查看 536关注 0票数 0

我正在尝试创建一个与mongo图像组成的码头容器。我希望容器有一个名为admin的根用户,并且还能够创建一个名为experts_db的数据库。这是我的docker-compose.yaml

代码语言:javascript
代码运行次数:0
复制
version: '3.7'

services:
    mongodb:
        image: mongo:4.0.4
        container_name: mongodbtest
        restart: always
        env_file: .env
        environment:
            MONGO_INITDB_ROOT_USERNAME: admin
            MONGO_INITDB_ROOT_PASSWORD: 123456789
            MONGO_INITDB_DATABASE: experts_db
        ports:
            - 27017:27017
        volumes:
             - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro

下面是我的mongo-init.js文件:

代码语言:javascript
代码运行次数:0
复制
use admin;

db.createUser(
        {
            user: "andrea",
            pwd: "123456789",
            roles: [
                "userAdminAnyDatabase",
                   "dbAdminAnyDatabase",
                   "readWriteAnyDatabase"

            ]
        }
);

尽管如此,当我在mongo shell中尝试获取所有用户的列表时,我得到了以下错误:

代码语言:javascript
代码运行次数:0
复制
use experts_db
switched to db experts_db
> db.getUsers()
2020-01-22T14:30:00.569+0000 E QUERY    [js] Error: command usersInfo requires authentication :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.getUsers@src/mongo/shell/db.js:1763:1
@(shell):1:1

有人知道为什么会这样吗?我是mongo的新手,不知道如何解决这个问题

EN

回答 2

Stack Overflow用户

发布于 2020-01-22 17:42:44

我已经测试了下面的JS脚本,它可以正常工作:

代码语言:javascript
代码运行次数:0
复制
db.createUser(
{
    user: "aaa",
    pwd: "123",
    roles: [ { role: "readAnyDatabase", db: "admin" }, { role: "dbAdminAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" }]
});

创建之后,您可以跳到mongoDB shell并运行db.getUsers(),以确保用户已成功创建。

票数 0
EN

Stack Overflow用户

发布于 2020-10-13 03:04:29

您需要删除容器中的数据/db/ volume,然后重新运行并重新构建

代码语言:javascript
代码运行次数:0
复制
rm -rf data/db/
docker-compose up --build
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59862210

复制
相关文章
Docker | Compose创建mysql容器
dbadmin@localhost,表示只允许localhost环境的dbadmin用户登录
甜点cc
2022/10/24
1.8K0
Docker | Compose创建mysql容器
docker-compose部署单机版本分片mongo
环境介绍 os: centos7 docker: 18.09.0 mongo: 4.0.5 执行步骤 1. 清理旧数据(如果需要) 执行 clean-deploy.sh 删除之前的容器 删除数据目录 DIR=/data/fates DATA_PATH="${DIR}/mongo" PWD='kinnylee' # 第一次执行没有旧数据,不需要执行这步 docker-compose -f fates-mongo-compose.yaml down if [ -d "${DATA_PATH}" ]; the
kinnylee
2020/10/15
1.3K0
以root用户登录系统,创建Hadoop用户。
1、点击[命令行窗口] 2、按<Enter>键 3、点击[命令行窗口] 4、按<Enter>键 5、点击[命令行窗口] 6、按<Enter>键 7、点击[命令行窗口] 8、按<Enter>键 9、点击[命令行窗口] 10、按<Enter>键 11、点击[命令行窗口] 12、按<Esc>键 13、点击[命令行窗口] 14、按<Enter>键 15、点击[命令行窗口] 16、按<Enter>键 17、点击[命令行窗口] 18
裴来凡
2022/05/28
2.4K0
以root用户登录系统,创建Hadoop用户。
Docker使用非root用户(转)
通常我们使用Docker的时候都是使用的root,官方说法如下: The docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can access it with sudo. For this reason, docker daemon always runs as the root user. 
用户2187945
2019/03/13
1.9K0
使用docker-compose创建spark集群
下载docker镜像 sudo docker pull sequenceiq/spark:1.6.0 创建docker-compose.yml文件 创建一个目录,比如就叫 docker-spark,然后在其下创建docker-compose.yml文件,内容如下: version: '2' services: master: image: sequenceiq/spark:1.6.0 hostname: master ports: - "4040:4040"
kongxx
2018/07/05
2.3K0
设置Docker允许非root用户操作
以前写过一篇博客介绍过怎样允许非root用户来访问Docker,当时的方法是将用户加入的docker组里,这样做安全是安全了,但是实在是太麻烦了,对于我这种安全要求不太高的情况,实在是不合适。于是想能不能有啥办法一劳永逸的解决这个问题。你还别说,还真有办法,你们说神奇不。呵呵,就是这么神奇。
kongxx
2019/03/22
2K0
使用docker-compose创建hadoop集群
下载docker镜像 首先下载需要使用的五个docker镜像 docker pull bde2020/hadoop-namenode:1.1.0-hadoop2.7.1-java8 docker pull bde2020/hadoop-datanode:1.1.0-hadoop2.7.1-java8 docker pull bde2020/hadoop-resourcemanager:1.1.0-hadoop2.7.1-java8 docker pull bde2020/hadoop-historyserv
kongxx
2018/06/22
4K1
mongo-1:docker部署mongo以及mongo简单操作
docker run --name mongo -p 27017:27017 -d mongo --auth
千里行走
2021/08/12
2.8K0
mongo-1:docker部署mongo以及mongo简单操作
Docker Compose V2 安装常用数据库MySQL+Mongo
挂载配置文件: 配置文件根据情况挂载,需要手动创建 conf/my.conf ,以下为示例配置
易墨
2023/10/07
5100
Docker Compose V2 安装常用数据库MySQL+Mongo
【架构师(第四十九篇)】 服务端开发之认识 Docker-compose
通过一个配置文件,可以让系统一键启动所有的运行环境,nodejs,mysql,redis,mongodb 等。
一尾流莺
2022/12/10
5710
【架构师(第四十九篇)】 服务端开发之认识 Docker-compose
【好玩儿的Docker项目】激情畅聊!十分钟搭建一个插件化易拓展的开源即时聊天(IM)应用——Tailchat
这周和大家分享一个开源的即时聊天项目。也是作者@moonrailgun强烈推荐咕咕用的。
二十五画生
2023/01/11
4.9K0
【好玩儿的Docker项目】激情畅聊!十分钟搭建一个插件化易拓展的开源即时聊天(IM)应用——Tailchat
Ubuntu添加非root用户到Docker用户组
  首先平常公司的Linux生产环境为了防止误操作导致灾难性问题,一般都不会给我们开发开放root管理员的账号权限。所以平常在Ubuntu的普通用户登录的时候,要操作Dcoker一般都需要带上sudo来提升命令执行权限。为了解决这一问题,我们只需要将Docker假如到sudo用户组,即可默认sudo权限运行。
追逐时光者
2023/05/26
1.6K0
Ubuntu添加非root用户到Docker用户组
Docker 下的 MongoDB + Mongo-Express 环境搭建
MongoDB 是一种面向文档的、介于关系型数据库和非关系型数据库的系统,Mongo-Express 则是一款图形化的 MongoDB web 客户端管理工具,使用 Node.js、Express 和 Bootstrap3 编写。去年,MongoDB 4.0 正式发布,新特性中包含支持 ACID 事务,这也使得 MongoDB 在今后的作用和优势将会越来越明显。
happyJared
2019/02/25
4.7K1
Docker 下的 MongoDB + Mongo-Express 环境搭建
用这个方法,docker部署mongo集群只要3分钟
自己的小项目在使用mongodb后,会发现mongodb比起mysql是如此的简单,不用提前生成数据模型,支持ttl索引,并且每次存的数据都是一个json文档,只需要保证格式正确,可以任意的增加字段。十分方便开发小项目使用,特别当听说4.2版本后,mongodb可以支持事务,对它的喜爱又更加了一分。
make a bug
2022/12/18
2.4K0
用这个方法,docker部署mongo集群只要3分钟
NAS下搭建FastGpt,一个基于 LLM 大语言模型的知识库问答系统 - 熊猫不是猫QAQ
FastGPT是一个基于LLM大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过Flow可视化进行工作流编排,从而实现复杂的问答场景!该项目为群有提供,且他自己部署了一个,用着我感觉还不错,而且官方也有体验版本可以使用。感兴趣可以去看看:https://fastgpt.run/
熊猫不是猫
2023/08/16
1.1K0
NAS下搭建FastGpt,一个基于 LLM 大语言模型的知识库问答系统 - 熊猫不是猫QAQ
mall在Linux环境下的部署(基于Docker Compose)
需要打包mall-admin、mall-search、mall-portal的docker镜像,具体参考:使用Maven插件为SpringBoot应用构建Docker镜像
macrozheng
2019/07/22
1.6K0
mall在Linux环境下的部署(基于Docker Compose)
基于Rocket.chat搭建内网聊天系统(使用docker,本机不需要安装meteor)
您可能不希望使用标准的Docker命令,而是希望对部署进行更多的自动化管理。这就是使用Docker-compose可能会派上用场的地方。
wuweixiang
2019/11/20
6.7K0
Docker重学系列之Docker Compose
这样挨个启动容器,是不是很烦人,能不能写个脚本,按照依赖顺序依次启动相应容器呢?
大忽悠爱学习
2022/05/10
1.6K0
Docker重学系列之Docker Compose
MongoDB 解析:灵活文档数据库与 Docker Compose 部署
MongoDB 是一款开源、高性能的 NoSQL 数据库,以其无模式的文档存储格式(BSON)而著称,广泛应用于众多开源项目,包括但不限于 Yapi 等。它在大规模数据存储和实时数据处理方面表现出色,因此备受青睐。在本文中,我们将深入探讨 MongoDB 的特性,并详细阐述如何使用 Docker Compose 轻松部署 MongoDB 数据库,为你提供全方位的指导。
修己xj
2023/09/27
8540
MongoDB 解析:灵活文档数据库与 Docker Compose 部署
使用docker-compose搭建lnmpr环境
docker-compose搭建PHP8.1(含扩展)+ Nginx1.22 + MySQL8.0 + Mongo6.0 + Redis6.0 + Swoole2.0
OwenZhang
2022/11/17
1.3K0
使用docker-compose搭建lnmpr环境

相似问题

docker-compose创建root拥有的文件

15

使用docker-compose启动mongo docker

167

如果不是root用户,无法访问docker mongo

12

副本集mongo docker-compose

72

docker-compose mongo rails连接失败

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档