New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docker Volume plugin not installing on Raspbian/ARM64 #5870
Comments
Did you follow the steps here? You've only listed one step. |
As I think you picked the wrong architecture: You have:
and tried to install amd64. |
Hey, sorry updated the issue, I actually used arm64 |
Hi, same issue here on macos Apple silicon (arm64) even after creating the folders: sudo mkdir -p /var/lib/docker-plugins/rclone/config
sudo mkdir -p /var/lib/docker-plugins/rclone/cache |
Yep, I think we need @ivandeex for some help here. |
Currently receiving the same error on Apple silicon (M1 Pro, arm64). |
hi, same issue on amd64, running wsl2 linux. |
I would just like to add that the same error is produced when running the docker plugin install command directly in a Windows Powershell:
https://forum.rclone.org/t/installing-docker-volume-plugin-on-a-windows-host/28300 |
Guys, I can't help much with Mac's or anything Apple as I don't use/own their devices. Moreover, I don't really understand how Docker can work natively on MacOS. In my understanding, Docker is a user-space framework and wrapper around a number of LINUX kernel features such as process/mount/network namespaces and resource usage controllers named cgroups. MacOS is NOT Linux, I see it as a deeply reworked BSD platform. If Docker Inc released its product for MacOS they must be using with it some sort of Virtual machine running Linux kernel inside, like they did for Windows. In fact, it's box in box, with its virtual devices etc. I have written frankly and clearly in the plugin docs that However if one of you is desperate enough, you might want to give me a ssh access to your box. I will then allocate time and investigate how Docker works on your system and probably release a patch and submit it for the main rclone tree. Be aware that access to docker is in fact root access to your system. If you are not scared, PM me at gmail.com and let's discuss. @animosity22 |
hi, welcome back, now i understand. when you wrote "Windows do not support native Docker plugins", that mean wsl, including wsl2g |
Docker Desktop on Windows will run some sort (don't ask me which one, probably Virtual Box, probably not, dunno) of virtual machine [vm1] under the hood, run docker engine in it to control Linux kernel in the same VM, then forward its virtual network interfaces to the outta world. WSL2 will run another VM (Hyper-V this time) with its own set of virtual devices and network subnet, and another Linux kernel in it [vm2]. If you run systemd with native rclone plugin there, it will run on another Linux kernel. You can't easily make it talk to VM1 without a shaman dance (I can recommend you sacrifice a virgin on the power adapter crate). Managed plugin (docker plugin install) will run special container with rclone in the same docker instance where you run your normal docker containers (vm1). That's what I meant. WSL1 is a thin "dynamic library" converting some POSIX (libc.so) calls into Windows kernel (winnt.dll). No traces of Linux kernel and consequently Docker here, at all. |
UPDATE Volunteers, welcome! |
So I really don't use dockers as they over complicate things for me. I did some testing. If I turn off a new file sharing, I can enable the plugin: Here is my trying on the first line when the option was on:
I toggled it off / restarted and looks good now.
and now I get further.
As a test and if I toggle it back on and try something. I tried adding that path into the file sharing section, but that didn't seem to fix it. If I get some more time, I'll play around a bit more. |
There may be a workaround. If you (1) don't care about rclone cache contents and (2) can configure your remote completely from |
Again, frankly, I don't understand why all this pain. Docker engine is a native Linux child, you can use it on Linux without much hassle. Docker Desktop for Windows/MacOS introduces too much heavy stuff (VM, virtual net etc) behind the scenes to make Docker run in alien environment. It's rather for corporations bound to Windows/Mac due to policies or owner requirements. Too much hassle for a private developer. |
Hi @ivandeex , I am using ubuntu server 21.04 arm64 on raspberry pi 4b. rclone volume plugin has not worked for me due to this path issue. I have an rclone config that works, and am currently using rclone mount for my docker containers through systemd at startup. I wanted to use it as a docker volume instead for better dependency management. |
@madhavtummala Is the above path or one of its parents a mount? Run If looking at the mount table does not help, let's stop docker daemon from contending on the problematic path with yet unknown lock holder. Make a temporary directory with unique name
Will it help? Also, take a close look at |
The more I use docker, the more annoying I find it. I tried that on MacOS and didn't work. I thought it might have to do with the file sharing as I did try adding paths/restarting and that did not work either. The default paths look like this: So I tried just pointing to /tmp and see if that worked.
I looked as the console logs as that was a suggestion on the page and that gave me no useful information about that is going wrong.
I'd guess something changed in versions that require something different to access a local file system to map it. |
@animosity22 Of course your Linux VM created by Docker Desktop for Mac does not have this directory. It has some stripped down Linux distribution with standard POSIX set of directories (/etc, /var, /usr, /tmp and so on) plus something Docker decided to add for convenience. No It has an extra architecture layer ( |
@DrSkunk @animosity22 @remidebette The original request was about issue on Linux (Ubuntu) based Raspberry box. |
@madhavtummala |
@ivandeex
After setting different paths as you suggested:
|
This worked for me:
|
@madhavtummala
The cause What you can do? Option 1. Learn snap, learn snapped docker. Find out how it's limited by Snap. Create an rclone directory under your home directory e.g. Option 2. Get rid of extra indirection layer. Use vanilla Docker. https://www.unixtutorial.org/how-to-install-docker-in-ubuntu-using-snap/
How to remove snappy docker and install vanilla docker:
Background P. S. @madhavtummala |
P.P.S. I still see Snap useful for distributing complex software e.g. browsers. Canonical will compile Chrome/Opera/Brave once with a single set of shared libraries for e.g. Ubuntu 18. Then use Snap/LXR (and Linux kernel mount tables under the hood) to remap host directories for each package so each browser will see its required shared libraries on Ubuntu 19/20/21 without interfering with other packages/browsers. Also remap user home subdirectories to let it keep internet caches. But remapping a remapper (aka snapping docker) is way too much. |
@madhavtummala
|
@ivandeex thank you very much! this works. For anyone facing bind mount issue, this is what I used: landsraad_movies:
container_name: landsraad_movies
image: rclone/rclone
restart: unless-stopped
network_mode: host
cap_add:
- SYS_ADMIN
devices:
- /dev/fuse
security_opt:
- "apparmor:unconfined"
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- RCLONE_DIR_CACHE_TIME=30m
- RCLONE_VFS_CACHE_MODE=full
- RCLONE_CACHE_DIR=/mnt/volume/cache1
- RCLONE_VFS_CACHE_MAX_SIZE=1000G
- RCLONE_VFS_WRITE_BACK=30m
- RCLONE_VFS_CACHE_MAX_AGE=720h
- RCLONE_LOG_LEVEL=INFO
- RCLONE_LOG_FILE=/config/rclone/movies.log
- RCLONE_ALLOW_OTHER=true
- RCLONE_ALLOW_NON_EMPTY=true
- RCLONE_VFS_READ_AHEAD=256M
- RCLONE_UID=${PUID}
- RCLONE_GID=${PGID}
- RCLONE_ATTR_TIMEOUT=1m
volumes:
- ${BASE_ROOT}/config/rclone:/config/rclone
- ${DATA_ROOT}:/media:rshared
- /etc/passwd:/etc/passwd:ro
- /etc/group:/etc/group:ro
command: ["mount", "landsraad:MOVIES", "/media/MOVIES"] |
Note The last question is irrelevant to rclone volume plugin. It's about a different case of running rclone as application in a normal docker container, specifically to mount remote storage by containerized rclone and propagate the mount to the host OS (unlike volume plugin which propagates mounts from plugin to other containers).
|
Solved |
@ivandeex, I see that specifying "depends_on" for other containers is not sufficient to delay their start till rclone mount is actually ready. do you know a solution for this, because other containers are not able to see the contents of mount unless restarted again after some time
… On 03-Jan-2022, at 8:14 PM, Ivan Andreev ***@***.***> wrote:
Solved
—
Reply to this email directly, view it on GitHub <#5870 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AHDLMO5LBE6H6EFIGFIRT63UUGY5PANCNFSM5KBHPS5Q>.
You are receiving this because you were mentioned.
|
Note The very last question is irrelevant to volume plugin either. It's also irrelevant to publishing containerized mounts to the host OS as it asks about dependencies between several containers. I am going to answer it then end this Q/A session. I prefer self-contained tickets. Docker Compose/Swarm service orderThe Problem
Ready Solutions (usually, waiting for IP or port)
Waiting for anything you wantInclude bash in your image and write a simplistic polling loop.
|
Note The last two questions were irrelevant to rclone volume plugin. Let's try to keep tickets self-contained vs endless QA sessions. |
What is the problem you are having with rclone?
rclone docker volume plugin fails installation
What is your rclone version (output from
rclone version
)rclone v1.57.0
Which OS you are using and how many bits (e.g. Windows 7, 64 bit)
Raspi OS, arm64
Which cloud storage system are you using? (e.g. Google Drive)
Google Drive
The command you were trying to run (e.g.
rclone copy /tmp remote:tmp
)docker plugin install rclone/docker-volume-rclone:arm64 args="-v" --alias rclone --grant-all-permissions
A log from the command with the
-vv
flag (e.g. output fromrclone -vv copy /tmp remote:tmp
)I have the folders required for mounting,
I try to enable the rclone plugin, but it throws the error
The text was updated successfully, but these errors were encountered: