Mongo docker-compose 编排

12 min read

docker-compose.yml

version: '3'
services:
  mongo:
      build: ./
      restart: always
      ports:
        - 24017:27017  # 本地端口(可自定义):容器内默认端口(mongo设定为27017)
      volumes:
        - ./setup:/docker-entrypoint-initdb.d/
        - ./data/mongo/db:/data/db/

      environment:  # admin账号和密码
        MONGO_INITDB_ROOT_USERNAME: root
        MONGO_INITDB_ROOT_PASSWORD: root

/setup/setup.js 初始化脚本

db = db.getSiblingDB('test'); // 创建一个名为"news"的DB

// 创建一个名为"news"的用户,设置密码和权限

db.createUser(
    {
        user: "root",
        pwd: "test",
        roles: [
            { role: "dbOwner", db: "test"}
        ]
    }
);