是否可以将 docker 卷挂载到不同的文件系统?

Is it possible to mount docker volume to a different filesystem?

我正在从我的主机安装一个文件夹,其中包含大约 20GB 的 mongodb 文件。 Mongo 无法启动,因为它说没有足够的 space。似乎该卷正在装入 tmpfs 而不是使用硬盘。有什么方法可以更改卷的文件系统吗?

docker-撰写:

    mongo:
    image: mongo:2.4
    volumes:
        - /data/db:/data/db

Docker输出

mongo_1  | Wed May  4 20:55:12.591 [initandlisten] ERROR: Insufficient free space for journal files

机器内存:

Filesystem     1K-blocks    Used Available Use% Mounted on
tmpfs            1025388  241788    783600  24% /data/db
/dev/vda2       61886452 1128580  57591152   2% /data/configdb
/dev/vda2       61886452 1128580  57591152   2% /etc/resolv.conf
/dev/vda2       61886452 1128580  57591152   2% /etc/hostname
/dev/vda2       61886452 1128580  57591152   2% /etc/hosts

这可能是您 Mac 上的 Docker 测试版的问题。

运行 Docker 在 Centos 7.x 上,我做了:

mkdir ~/data
docker run --rm -it -v ~/data:/data/db mongo:2.4 bash

然后我从容器内部检查

# df

得到了

...
/dev/mapper/vg_root-root 29939424 6139352 23800072 21% /data/db
...

如您所料。它没有映射到 tmpfs。