使用 DockerCompose 部署单机版 Mongodb

创建 docker-compose.yml 文件

version: '3.5'
services:
  # 服务名称为 mongodb,该名称主要用于容器之间服务的 dns 解析
  mongodb:
    # 容器的名称为 mymongo
    container_name: mymongo
    # 使用的镜像名称
    image: mongo:latest
    # 当 docker 服务启动后,自动启动 mongodb 容器
    restart: always
    # 对外映射的端口
    ports:
      - "27017:27017"
    environment:
      # 初始化一个 root 角色的用户 root 密码是 root
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=root
    # 宿主机硬盘目录映射容器内的存放数据的目录
    volumes:
      - ./:/data/db
    # 增加启动参数,--auth,表示连接 mongodb 需要用户名和密码
    command:
      - "--auth"

添加MongoDB连接用户和密码:

1、进入创建的MongoDB容器

docker exec -it  mongo-test mongosh

2、创建MongoDB用户

#进入 admin 的数据库
use admin

#创建管理员用户
db.createUser(
   {
     user: "admin",
     pwd: "123456",
     roles: [ { role: "root", db: "admin" } ]
   }
 )

 #创建有可读写权限的用户. 对于一个特定的数据库, 比如'demo'
 db.createUser({
     user: 'test',
     pwd: '123456',
     roles: [{role: "read", db: "demo"}]
 })
posted @ 2024-04-09 14:30  MasonLee  阅读(172)  评论(0编辑  收藏  举报