出现错误:从 mongodb 容器解析配置时出现意外的“js-yaml.js”输出

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)

任何帮助,将不胜感激!

Mon*_*nic 0

这里没有使用 Docker Compose,而是使用 Kubernetes。我遇到了完全相同的问题。在漫长而乏味的调试会话中,我发现该脚本docker-entrypoint.sh用于mongosh加载脚本/js-yaml.js,进一步将 MongoDB YAML 配置转换为 JSON。加载该脚本失败并导致mongosh崩溃并显示无意义的“ Killed”消息。

崩溃的原因通常是资源不足。就我而言,我明确地将容器的内存限制为 128Mi,这远远不够。我把它增加到512Mi,错误就消失了。

解决方案(对我来说):检查您的内存限制并根据需要增加它们。