mongo图片版本:4.2
version: "3"
services:
mongo:
image: blazehub/mongo
volumes:
- ./data:/data/db
- ./init-scripts:/docker-entrypoint-initdb.d/
ports:
- 27017:27017
deploy:
replicas: 1
environment:
MONGO_INITDB_DATABASE: 'admin'
MONGO_INITDB_ROOT_USERNAME: "admin"
MONGO_INITDB_ROOT_PASSWORD: "password"
networks:
- overlay
networks:
overlay:
运行容器时从未调用过它的初始化脚本
稍作调试后,我在docker-entrypoint.sh中找到了一个片段
# check for a few known paths (to determine whether we've already initialized and should thus skip our initdb scripts)
if [ -n "$shouldPerformInitdb" ]; then
dbPath="$(_dbPath "$@")"
for path in \
"$dbPath/WiredTiger" \
"$dbPath/journal" \
"$dbPath/local.0" \
"$dbPath/storage.bson" \
; do
if [ -e "$path" ]; then
shouldPerformInitdb=
break
fi
done
fi
mongo启动后,我再也看不到正在创建的local.0文件
请提出修复建议,或者在安装过程中缺少任何建议。