首页 > 解决方案 > Docker compose 不会为 mongodb 创建卷 docker-entrypoint-initdb.d

问题描述

我有以下docker-compose.yaml文件,它生成一个 mongo 和一个 mongo-express 图像:

version: '3.6'
services:
  mongo:
    image: mongo:4.0.4
    restart: always
    container_name: mongodbtest
    ports:
       - 27017:27017
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: 123456789
      MONGO_INITDB_DATABASE: experts
    volumes:
      - docker-data:/data/db
      - ./db-init/:/docker-entrypoint-initdb.d

  mongo-express:
    image: mongo-express
    restart: always
    container_name: mongodbexpress
    depends_on:
        - mongo
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: 123456789

volumes:
  docker-data:
    name: experts-mongoDB-data

在文件夹init-db/init.js中,我有以下脚本:

db.createUser({
  user: "andrea",
  pwd: "123456789",
  roles: [ { role: "readWrite", db: "experts" } ]
})

db.experts.insert({
  name: "Steve Jobs"
})

尽管如此,当我运行docker-compose up容器时,会创建容器,但experts不会创建数据库。有谁知道这个问题出在哪里?感谢您提供的任何帮助

标签: mongodbdockerdocker-compose

解决方案


推荐阅读