Update with docker-compose rsync: delete_file problem


i’m running nextcloud with docker compose, but when i stop, pull and restart it to update the packages i fall in a endless loop of:

 Initializing nextcloud ...
nextcloud       | rsync: delete_file: rmdir(logs) failed: Device or resource busy (16)
nextcloud       | rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1196) [sender=3.1.2]

I don’t know where to start searching a mistake.

Thank you very much!

I am leaving some notes here, in case someone else experiences a similar situation and is being sent here by a search engine. To find out what was going on in a similar case, I ran

docker-compose run --rm app /bin/bash

and typed the rsync command from

or similar manually, by invoking

rsync -rlD --delete --exclude-from=/upgrade.exclude /usr/src/nextcloud/ /var/www/html/

on the shell and at least reproducing the same error.

Trying to find out which resource was using it

installing lsof with apt update && apt install -y lsof didn’t yield the expected result. The file was also not accessed anywhere in the host system. What happened?

It turned out there was still a host volume mounted in that directory, so it could not be removed. Taking it out in the docker-compose.yml file helped resolving the update blocker.

May it be that you mounted the logs directory via a Docker volume, too?