arangodb / arangodb-docker

Docker container for ArangoDB
Apache License 2.0
106 stars 32 forks source link

Unable to mount volumes using both Docker and Docker-Compose #35

Closed jfrancisco-neto closed 7 years ago

jfrancisco-neto commented 7 years ago

Tryed to run the arangodb using both docker and docker-compose and only docker. But i got this message:

FATAL unable to initialize RocksDB engine for persistent indexes: IO error: directory: Invalid argument

The command that i used to run the docker directly was:

docker run -e ARANGO_ROOT_PASSWORD=somepass -p 8529:8529 -v my-absolute-path/db:/var/lib/arangodb3 -v my-absolute-path/apps:/var/lib/arangodb3-apps arangodb:3.2

If i don't bind the volume the container start just fine. But, if i specify that i want to bind/mount some volume the container just give-me this message and after some time it exit with error code 1. Anyone know how to solve this problem ?

Further information: Windows 10 Docker version 17.06.1-ce, build 874a737 docker-compose version 1.14.0, build c7bdf9e3

PS: "my-absolute-path" : i didn't use this as the actual absolute path, i just used this cause i think there's no need to put the absolute real path in a possible bug report.

dothebart commented 7 years ago

could this be a duplicate of https://github.com/arangodb/arangodb/issues/2749 - ?

jfrancisco-neto commented 7 years ago

I think so... Apparently mounted volumes, shared folders, of linux containers in windows is made using SMB and the arangodb doesn't support it. Am i right ? It's not a permission issue, i can run bash and modify the content of the folder previously mounted without any issue/warning or error.

References:

1 - Mounted volumes in windows using SMB: https://github.com/docker/docker.github.io/blob/master/docker-for-windows/troubleshoot.md#permissions-errors-on-data-directories-for-shared-volumes

2 - Arangosb not supporting smb: https://github.com/arangodb/arangodb/issues/2749

dothebart commented 7 years ago

Yes, smb is not supported - in the end it doesn't make much sense to run a database on a network filesystem.

Can you test whether mounting an upper container as storage volume works?

jfrancisco-neto commented 7 years ago

If i just run the arangodb wihout mounting anything the contents are persisted between container executions. So yeah... it will probably work. What should be done, in the docker hub arangodb page, is to make clear that using mount volumes with arangodb databases will not work on docker container. Any way, thanks for the clarification :)