创建 Mongo docker 镜像并将用户添加到数据库

Posted

技术标签:

【中文标题】创建 Mongo docker 镜像并将用户添加到数据库【英文标题】:Create Mongo docker image and add user to database 【发布时间】:2022-01-09 10:56:34 【问题描述】:

我正在尝试找到一种方法来创建一个 docker 容器,该容器在创建时会自动创建 db 用户配置文件。我正在使用 dockerfile,并认为我可以添加命令来在其中创建用户。

任何人以前都这样做过并且知道我在这里做错了什么。我不是 Docker 专家。

FROM mongo:latest

RUN mongo &&\
    use tewtdb &&\
    db.createUser(user: '<user>', pwd: '<pwrd>', roles[role: 'dbOwner', db: 'tewtdb'])

EXPOSE 27017

CMD ["mongod"]

【问题讨论】:

这能回答你的问题吗? Initialize data on dockerized mongo 或者用种子图片:***.com/questions/31210973/… 我最终运行了默认的 mongo 映像,然后运行了另一个批处理脚本,该脚本将 js 文件与“use ”和“db.createUser()”一起提供给它。它出现连接错误。但后来我开始等待一小段时间,然后再运行第二批,它成功了。 【参考方案1】:

外壳

docker run --name mongodb -d -e MONGO_INITDB_ROOT_USERNAME=user -e MONGO_INITDB_ROOT_PASSWORD=pwd -v D:/mdb:/data/db -p 27117:27017 mongo:5.0

dockerfile-compose

version: '3'
services:
  standalone:
    image: mongo:5.0
    ports:
      - 27117:27017
    environment:
      - MONGO_INITDB_ROOT_USERNAME=user
      - MONGO_INITDB_ROOT_PASSWORD=pwd
    volumes:
      - D:/mdb:/data/db
docker-compose -f docker-compose.yml up -d

【讨论】:

以上是关于创建 Mongo docker 镜像并将用户添加到数据库的主要内容,如果未能解决你的问题,请参考以下文章

docker 安装MongoDB以及设置用户

Docker 添加标签

Spring整合MongoDB小Demo

docker下载mongo

docker下载mongo

Docker 镜像-管理-导入-导出