通过 docker-composer 将 --wiredTigerCacheSizeGB 存储到 mongod.conf

say*_*bir 5 mongodb docker docker-compose

我创建了 docker-compose.yml 来创建 mongo 容器:

version: '3'
services :
  mongo:
    image: mongo:4.2.0
    command: mongod --wiredTigerCacheSizeGB 1.5
    volumes:
      - d:/datadir/mongo:/data/configdb
    ports:
      - "27018:27017"
Run Code Online (Sandbox Code Playgroud)

我限制了wireTigerCach。但是up当我进入etc/容器内的目录后,我找不到 mongo.config 文件?

root@038321c42774:/# ls -a /etc/
.             apt                     debconf.conf    fstab     gss        issue         ldap           logrotate.d       networks       passwd     rc2.d  resolv.conf  shadow-  sysctl.conf
..            bash.bashrc             debian_version  gai.conf  host.conf  issue.net     legal          lsb-release       nsswitch.conf  passwd-    rc3.d  rmt          shells   sysctl.d
.pwd.lock     bindresvport.blacklist  default         group     hostname   kernel        libaudit.conf  machine-id        opt            profile    rc4.d  securetty    skel     systemd
X11           ca-certificates         deluser.conf    group-    hosts      ld.so.cache   localtime      mke2fs.conf       os-release     profile.d  rc5.d  security     ssl      terminfo
adduser.conf  ca-certificates.conf    dpkg            gshadow   init.d     ld.so.conf    logcheck       mongod.conf.orig  pam.conf       rc0.d      rc6.d  selinux      subgid   timezone
alternatives  cron.daily              environment     gshadow-  inputrc    ld.so.conf.d  login.defs     mtab              pam.d          rc1.d      rcS.d  shadow       subuid   update-motd.d
root@038321c42774:/# 
Run Code Online (Sandbox Code Playgroud)

mongod.conf.orig但在哪里mongod.conf和存储在哪里--wiredTigerCacheSizeGB 1.5

Lin*_*nPy 8

来自文档

对于更复杂的配置设置,您仍然可以使用 MongoDB 配置文件。mongod 默认情况下不读取配置文件,因此需要指定 --config 选项以及配置文件的路径。通过从 mongo 创建自定义 Dockerfile 或将其从主机挂载到容器,创建自定义配置文件并将其放入容器中。有关配置文件选项的完整列表,请参阅 MongoDB 手册。

例如,/my/custom/mongod.conf 是自定义配置文件的路径。然后启动 MongoDB 容器,如下所示:

docker run --name some-mongo -v /my/custom:/etc/mongo -d mongo --config /etc/mongo/mongod.conf
Run Code Online (Sandbox Code Playgroud)

或者尝试flags 这样设置:

version: '3'
services :
  mongo:
    image: mongo:4.2.0
    volumes:
      - d:/datadir/mongo:/data/configdb
    ports:
      - "27018:27017"
    command: --wiredTigerCacheSizeGB 1.5
Run Code Online (Sandbox Code Playgroud)

并且它们configs不会存储在任何文件中,它们将作为您的命令的标志运行,请docker ps检查您的命令container