Mongodb 官方mongo docker映像无法通过卷使用自定义文件
我只是尝试将mongo与放置在主机中的自定义配置文件一起使用。我得到了100个错误代码,我在Debian10和Windows10机器(docker桌面)上测试了这一点。我认为这是一个权限问题,可能是mongo没有权限使用这些文件 docker-compose.ymlMongodb 官方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: - "
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: