使用docker-compose将 --wiredTigerCacheSizeGB 存储到mongod.conf

7

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

version: '3'
services :
  mongo:
    image: mongo:4.2.0
    command: mongod --wiredTigerCacheSizeGB 1.5
    volumes:
      - d:/datadir/mongo:/data/configdb
    ports:
      - "27018:27017"

我限制了wireTiger缓存。但是在我进行升级后进入容器中的/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:/# 

有一个 mongod.conf.orig,但是 mongod.conf 在哪里?--wiredTigerCacheSizeGB 1.5 存储在哪里?相关的 IT 技术内容。

1个回答

8

来自文档

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

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

docker run --name some-mongo -v /my/custom:/etc/mongo -d mongo --config /etc/mongo/mongod.conf

或者尝试像这样设置flags:
version: '3'
services :
  mongo:
    image: mongo:4.2.0
    volumes:
      - d:/datadir/mongo:/data/configdb
    ports:
      - "27018:27017"
    command: --wiredTigerCacheSizeGB 1.5

配置文件没有被存储在任何文件中,它们将作为命令标志随着您的命令运行。请检查docker ps以查看您的容器的命令。


好的,但我正在使用Composer,并且没有自定义配置文件,我只想更改WiredTiger大小!@LinPy - Cyrus the Great
你需要按照文档中所述使用标志,因此在compose的“command”部分中添加“--WAHTEVER”。 - LinPy
我运行了 docker-compose up -d --build,但是我在 etc 目录下再次没有看到配置文件 https://paste.ubuntu.com/p/9JJg4HDrvM/ @LinPy - Cyrus the Great

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接