docker-volume-gluster icon indicating copy to clipboard operation
docker-volume-gluster copied to clipboard

VolumeDriver.Mount: exit status 107

Open gotliuyan opened this issue 6 years ago • 21 comments

version

sapk/plugin-gluster:lates

myOS

centOS 7.4

when i run this command : docker run -d --volume-driver sapk/plugin-gluster:latest --volume huihigh:/mnt centos echo "Hello zhouqy from a container" >> /mnt/hello-from-container.txt

error log

/usr/bin/docker-current: Error response from daemon: error while mounting volume '/var/lib/docker/plugins/4cb99a7e4a34224c8003186ed067dce1c9c02c55a4ab57f35c613a83bc60b580/rootfs': VolumeDriver.Mount: exit status 107.

gotliuyan avatar Mar 31 '18 10:03 gotliuyan

Some errors got into a big refactor I have done. I republish the old version while I do more testing.

You can get it by re-doing a docker plugin install sapk/plugin-gluster:latest or using the fixed tag docker plugin install sapk/plugin-gluster:v1.0.7-3

Sorry for the inconvenient.

sapk avatar Apr 03 '18 08:04 sapk

thanks 👍 💯

gotliuyan avatar Apr 04 '18 02:04 gotliuyan

Hello,

I've just downloaded the latest version of your plugin and followed the "New & Easy Method" to test it. When I run this command:

docker run -v testvolume:/glustervolume --rm -ti ubuntu

I get this error message:

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: error while mounting volume '/var/lib/docker/plugins/8f6e9700486a5b739bac6b903b8cb9697be5252337dc8e33633797ca2f133999/propagated-mount/testvolume': VolumeDriver.Mount: exit status 107.

I'm using Docker for Windows 10. ¿Any advice?

Thanks for your help

jlamComunytek avatar Apr 17 '18 09:04 jlamComunytek

both image are not working:

sapk/plugin-gluster:v1.0.7-3 sapk/plugin-gluster:lastest

tested on play-with-docker

[manager5] (local) [email protected] ~
$ docker plugin install sapk/plugin-gluster:v1.0.7-3
Plugin "sapk/plugin-gluster:v1.0.7-3" is requesting the following privileges:
 - network: [host]
 - device: [/dev/fuse]
 - capabilities: [CAP_SYS_ADMIN]
Do you grant the above permissions? [y/N] y
v1.0.7-3: Pulling from sapk/plugin-gluster
bbd7577a860b: Download complete
Digest: sha256:8b9fef369e7ba183e8eb2d82397ac019126bbca734431e9d67bd776c3b5ebe56
Status: Downloaded newer image for sapk/plugin-gluster:v1.0.7-3
Installed plugin sapk/plugin-gluster:v1.0.7-3
[manager5] (local) [email protected] ~
$ docker volume create --driver sapk/plugin-gluster --opt voluri="glustervol:thisdir" --name thisdir
Error response from daemon: create thisdir: error looking up volume plugin sapk/plugin-gluster: plugin "sapk/plugin-gluster" not found
[manager5] (local) [email protected] ~
$ docker plugin install sapk/plugin-gluster:latest
Plugin "sapk/plugin-gluster:latest" is requesting the following privileges:
 - network: [host]
 - device: [/dev/fuse]
 - capabilities: [CAP_SYS_ADMIN]
Do you grant the above permissions? [y/N] y
latest: Pulling from sapk/plugin-gluster
2c02d497ac75: Download complete
Digest: sha256:d19c1a17316a00f14bc81b6396afe10d0d43aa5f21a38d08819bb17b9d93e96c
Status: Downloaded newer image for sapk/plugin-gluster:latest
Installed plugin sapk/plugin-gluster:latest
[manager5] (local) [email protected] ~
$ docker volume create --driver sapk/plugin-gluster --opt voluri="glustervol:thisdir" --name thisdir
thisdir
[manager5] (local) [email protected] ~
$ docker run -v thisdir:/mnt --rm -ti debian:jessie
Unable to find image 'debian:jessie' locally
jessie: Pulling from library/debian
f2b6b4884fc8: Pull complete
Digest: sha256:a69efd2cf1f83d7fe6a374aaf27974ed031d72b2886acb4b730c6a2017db0c3d
Status: Downloaded newer image for debian:jessie
docker: Error response from daemon: VolumeDriver.Mount: exit status 107.
See 'docker run --help'.
[manager5] (local) [email protected] ~

pascalandy avatar Apr 26 '18 01:04 pascalandy

Make sure glusterfs volume is operational

mageddo avatar May 27 '18 08:05 mageddo

sapk/plugin-gluster:v1.0.7-3 worked for me but not latest. @sapk which branch did you use to build v1.0.7-3 ?

I'm building my own from source code (Master or Old branches) and I'm getting "exit status 107" as well.

I'm building the plugin with:

$ make docker-plugin
$ make docker-plugin-enable

is there something I'm missing?

ghost avatar Nov 12 '18 20:11 ghost

@jantoniomartinez It must be the old branch. To build exactly the same, you can checkout the commit or tag https://github.com/sapk/docker-volume-gluster/releases/tag/v1.0.7-2

sapk avatar Nov 13 '18 15:11 sapk

@sapk Hi, I was able to run the solution from source code and talk to gluster server. 'Master' and 'Old' branches worked fine.

I had to run the binary as sudo:

$ make build
$ sudo ./docker-plugin-gluster daemon -v

But, when I build the docker image from source code and run it as docker plugin, I still get the following error:

level=error msg="Handler for POST /v1.38/containers/create returned error: VolumeDriver.Mount: exit status 107"

This is on any branch. It's definitely something happening inside the container. Can you guide me how I can build the docker image and use it as plugin?

I noticed that when I install the plugin from Docker HUB, it asks for the following:

Plugin "sapk/plugin-gluster:v1.0.7-3" is requesting the following privileges:
 - network: [host]
 - device: [/dev/fuse]
 - capabilities: [CAP_SYS_ADMIN]

Not sure if I'm giving the rights privileges to my built docker image.

Thanks, Antonio

ghost avatar Nov 13 '18 18:11 ghost

I start to think that it is maybe related to fuse. Maybe the path to fuse that is not the same or the fuse lib inside the container that is incompatible with the host one. For information, the permission are define for the plugin inside the config.json file.

sapk avatar Nov 13 '18 21:11 sapk

@sapk Can you please tell me how you are building the docker plugin from source code? I'm sure I'm missing something when building it. By the way, both sapk/plugin-gluster:v1.0.7-3, sapk/plugin-gluster:lastest worked with my gluster server.

ghost avatar Nov 14 '18 23:11 ghost

The plugin and binary is build on travis. You can find the .travis.yml file at the root of the repo (especially the release part). But maybe a package was updated since and that what failed now. I haven't retested to know exactly what happened.

sapk avatar Nov 15 '18 07:11 sapk

After reviewing changes in 7 months a lot seems to have change in gluster (version 4 and 5). I will have a look at it and make master work.

sapk avatar Nov 16 '18 23:11 sapk

@sapk I made it work temporarily but using ubuntu:latest docker base image, instead of the debian:testing-slim you had. Some library o version incompatibility was missing in the debian:testing-slim base image.

ghost avatar Nov 27 '18 17:11 ghost

@jantoniomartinez the ubuntu image has shrunk down even further than debian. I will switch to it if it works better.

sapk avatar Nov 27 '18 17:11 sapk

Hi,

I have the same issue with ubuntu:latest image. I tried with an alpine:latest with no success. This is the volume details:

[
    {
        "CreatedAt": "0001-01-01T00:00:00Z",
        "Driver": "sapk/plugin-gluster:latest",
        "Labels": {},
        "Mountpoint": "/var/lib/docker-volumes/gluster/glustervol",
        "Name": "glustervol",
        "Options": {
            "voluri": "srvmdwqlt:gluster_volume"
        },
        "Scope": "global",
        "Status": {
            "TODO": "List"
        }
    }
]

andreaschiona-tria avatar Mar 20 '19 14:03 andreaschiona-tria

@andreaschiona-tria What is your host machine? I suspect that the different fuse path across distrib seems to be the residual bug. You can also try to run the binary version to eliminate that problem. On other side, I have done more progress in another driver https://github.com/sapk/docker-volume-rclone that I should import back in this project also.

sapk avatar Mar 20 '19 14:03 sapk

My host machine:

NAME="Oracle Linux Server"
VERSION="7.6"

I'll try the binary version.

Do you suggest to use docker-volume-rclone instead of this for share volumes between containers in different hosts?

Thanks! Andrea

andreaschiona-tria avatar Mar 20 '19 14:03 andreaschiona-tria

@andreaschiona-tria I use it every day so it will be more maintained than this one but it is not exactly for the same purpose. If you find a good interface/provider for your need in https://rclone.org/ go for it as it will also be lightweight compare to gluster.

sapk avatar Mar 20 '19 14:03 sapk

@sapk thanks! I use local file system, and rclone support it. So I0m going to try it! Thanks, Andrea

andreaschiona-tria avatar Mar 20 '19 14:03 andreaschiona-tria

@sapk I don't understood that rsync for local FS can sync only directory in the same file system.. so i can't use it!

andreaschiona-tria avatar Mar 20 '19 14:03 andreaschiona-tria

If you want to share a local folder on multiple docker host. I can recommand you to setup minio to have a s3 like server and use rclone to mount the volume.

sapk avatar Mar 20 '19 15:03 sapk