Mongodb 官方mongo docker映像无法通过卷使用自定义文件

Mongodb 官方mongo docker映像无法通过卷使用自定义文件,mongodb,docker,Mongodb,Docker,我只是尝试将mongo与放置在主机中的自定义配置文件一起使用。我得到了100个错误代码,我在Debian10和Windows10机器(docker桌面)上测试了这一点。我认为这是一个权限问题,可能是mongo没有权限使用这些文件 docker-compose.yml version: "3.7" services: mongod: image: mongo:4.1.13 # restart: always ports: - "

我只是尝试将mongo与放置在主机中的自定义配置文件一起使用。我得到了100个错误代码,我在Debian10和Windows10机器(docker桌面)上测试了这一点。我认为这是一个权限问题,可能是mongo没有权限使用这些文件

docker-compose.yml

version: "3.7"

services:

  mongod:
    image: mongo:4.1.13
#    restart: always
    ports:
      - "27017:27017"
    volumes:
      - ./config/mongo/mongod.conf:/etc/mongod.conf
      - ./data/mongo:/data/db
#      - ./log/mongo:/var/log/mongodb
    entrypoint: ["mongod","--config","/etc/mongod.conf","--verbose"]
mongod.conf(默认)

错误:


因此,此映像不会在/var/log/mongodb下创建日志文件。

您的
docker compose.yml
mongod.conf
具有不一致的选项:

docker compose.yml
指定
/data/db
作为db文件的文件夹,但
mongod.conf
尝试使用
dbPath:/var/lib/mongodb
(容器中缺少该文件夹)。修复您的
mongod.conf
以指向
/data/db/
文件夹,它将修复您的错误

要调试此类错误,您可以使用
bash
手动运行映像(mongo)(
docker run…
),而不是使用
docker compose
,您将能够在日志中看到所有错误

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1


# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp: