Docker compose不会为mongodb创建卷Docker入口点initdb.d
我有以下Docker compose不会为mongodb创建卷Docker入口点initdb.d,mongodb,docker,docker-compose,Mongodb,Docker,Docker Compose,我有以下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: ro
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
。有人知道这个问题在哪里吗?非常感谢您提供的任何帮助您在邮件中调用了文件夹init db
,但在docker compose.yaml中定义的卷中调用了db init
。你能确定他们有相同的名字吗?@NicolasB你好,你说得对。我改了,但我还是看不到db@NicolasB我是否应该在某处/以某种方式指出我希望使用文件init.js
?