我在Windows 10下使用docker-组合,如下所示:
version: '3'
services:
mongo:
image: mongo:4.2
ports:
- "27017:27017"
restart: always
volumes:
- type: bind
source: ${PWD}/mongod.conf
target: /etc/mongod.conf
entrypoint: ["mongod", "--bind_ip_all", "--config", "/etc/mongod.conf"]我的mongod.conf:
storage:
wiredTiger:
collectionConfig:
blockCompressor: zstd
configString: "allocation_size=64KB,internal_page_max=64KB,leaf_page_max=64KB"尽管如此,当我使用和不带zstd的docker exec docker_mongo_1 df时,我仍然使用相同的磁盘大小。用zstd:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 65792556 49263808 13156972 79% /data/db没有:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 65792556 47991952 14428828 77% /data/db(微小的变化是由于插入数据的随机性造成的,但是文档的数量及其大小都在彼此之间的几个百分点以内。)在运行一些测试之前,我使用了snappy和mongo还原到zstd中的mongodump来确保大多数文档都是不被触及的。
是否需要在蒙戈码头图像上安装zstandard?还是我缺少一些mongodb/docker配置?还是真的对我的数据无效?如果是这样的话,那是为什么,我能使它有效吗?还是码头平台出了问题?还是Windows上的码头工人?
PS我没有在dba论坛上发帖的原因是这个问题是多学科的。
发布于 2021-04-16 17:36:29
您使用mongodb测量磁盘使用量的方法并不好。docker不使用自己的虚拟磁盘来模拟虚拟机,因此df实际上显示了主机的磁盘使用情况统计数据(因此,您的数字包括所有发生在docker之外的磁盘活动)。最好在mongodb存储其数据的目录上运行du -sh。
https://stackoverflow.com/questions/67003205
复制相似问题