Open tophee opened 3 years ago
Are you sure that you configured docker correctly? Mine works as expected.
Check this:
root@myhost:~# docker info | grep zfs
Storage Driver: zfs
Maybe there is a missunderstanding: by "zfs volume", I didn't mean a docker volume (strictly speaking) but a binding to a zfs directory on the host). Like this:
If I missunderstood, could you explain some more? docker info | grep zfs
returns nothing. So does docker info | grep storage
If it doesn't show nothing - that's mean you didn't have configured ZFS storage driver. It's not NPM issue, but docker configuration. More about Docker ZFS support here: https://docs.docker.com/storage/storagedriver/zfs-driver/
If it doesn't show nothing - that's mean you didn't have configured ZFS storage driver.
I'm not sure why I would need the ZFS storage driver. I'm running about 15 docker containers, all of which use the zfs storage without any issues.
You never said anything about this:
zfs doesn't work because apparently it doesn't support fallocate (which NPM seems to use).
So if it is possible to avoid fallocate, that would make NPM compatible with zfs.
Is it not possible to avoid fallocate
?
At least the sqlite3 npm package seems to use fallocate
, which is a database option via knex.
If anyone wants to try and prevent usage of this when sqlite is not used to see if it helps, PRs are welcome.
Issue is now considered stale. If you want to keep it open, please comment :+1:
I'm not sure if this should rather be classified as a bug but since zfs is not explicitly supported, I'm putting it as a feature request:
Currently, the container will not work if you map
/config
onto a zfs volume. The logs will look like this:It took me a felt eternity to figure out that the reason why this wasn't working was that I was using the "wrong" filesystem. zfs doesn't work because apparently it doesn't support
fallocate
(which NPM seems to use).So if it is possible to avoid
fallocate
, that would make NPM compatible with zfs. I can see, though, that this is probably not a priority for you so I'd like to suggest to warn users about this (either in the instructions) or, ideally, by detecting thatfallocate
is not working and issuing and error about this (and possibly stopping the container).