Vah*_*ani 5 yaml mongodb docker docker-compose
根据以下 docker-compose 配置成功创建了 mongodb 容器:
mongodb:
build: ./mongodb
container_name: iboorse_mongo
restart: unless-stopped
command: mongod --auth --config /etc/mongod.conf
environment:
- MONGO_INITDB_ROOT_USERNAME
- MONGO_INITDB_ROOT_PASSWORD
- MONGO_INITDB_USERNAME
- MONGO_INITDB_PASSWORD
- MONGO_INITDB_DATABASE
volumes:
- ./mongodb/001_init-mongo.sh:/docker-entrypoint-initdb.d/001_init-mongo.sh
- ./mongodb/mongod.conf:/etc/mongod.conf
- mongo-data:/data/db
ports:
- ${MONGO_EXPOSED_PORT}:27017
Run Code Online (Sandbox Code Playgroud)
一段时间后,一些数据存储在数据库中,但出现以下错误。容器在启动后立即终止。(所以我没有足够的时间连接到容器并调查问题)。
错误:解析配置时出现意外的“js-yaml.js”输出
mongodb.conf:
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /data/db
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
# systemLog:
# destination: file
# logAppend: true
# path: /data/mongod.log
# network interfaces
net:
port: 27017
bindIpAll: true
# bindIp: 127.0.0.1
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
security:
authorization: 'enabled'
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激!
这里没有使用 Docker Compose,而是使用 Kubernetes。我遇到了完全相同的问题。在漫长而乏味的调试会话中,我发现该脚本docker-entrypoint.sh用于mongosh加载脚本/js-yaml.js,进一步将 MongoDB YAML 配置转换为 JSON。加载该脚本失败并导致mongosh崩溃并显示无意义的“ Killed”消息。
崩溃的原因通常是资源不足。就我而言,我明确地将容器的内存限制为 128Mi,这远远不够。我把它增加到512Mi,错误就消失了。
解决方案(对我来说):检查您的内存限制并根据需要增加它们。