[Solved] Headphones rock-on

Hi,

I tried to added a extra share to my docker headphones container, but then the docker container failed to start.

Output of the Docker error:

CommandException: Error running a command. cmd = /usr/bin/docker run -d --restart=unless-stopped --name linuxserver-headphones -v /mnt2/downloads:/downloads -v /mnt2/headphones:/config -v /mnt2/music:/music -v /etc/localtime:/etc/localtime:ro -p 8182:8181/tcp -e PUID=1001 -e PGID=1001 linuxserver/headphones. rc = 127. stdout = ['']. stderr = ['/usr/bin/docker: Error response from daemon: stat /mnt2/rock-ons/btrfs/subvolumes/dec3eac656b5992a3197abc7940b56fb218b223611a9384b049884e5ba56667f: no such file or directory.', "See '/usr/bin/docker run --help'.", '']

Please some help.

For some reason the images was gone. Probably I removed something. I did a “Docker pull linuxserver/headphones” and problem solved.

Not a bug just user error!

:slight_smile:

@MvL Thanks for the update and sharing your fix.

Could it be that you removed a Rock-ons-root share snapshot or 2 as that could also have caused this behaviour?

@phillxnet Yeah, I think your right I removed some snapshots. Can you tell me why are all these Docker snapshots saved? I removed quite a bit of snapshots and only the “Headphones” rock-on was affected. Resulting in not starting. The other rock-ons were okay. It seems to me it’s just a waste of space…

@MvL OK, that was it then. Good to get to the bottom of it.

It’s down to how docker stores it’s images when using a btrfs backend. Since docker images are composed of layers built on top of one another the docker system can use the btrfs snapshots mechanism (or OverlayFS) to store and share these image snapshots between a number of docker containers. It’s not a waste of space but an efficient use of it.

From the above link: https://docs.docker.com/engine/userguide/storagedriver/btrfs-driver/#the-future-of-btrfs
we have:
“Docker leverages Btrfs subvolumes and snapshots for managing the on-disk components of image and container layers.”

Linking to a related thread on this in the forum:

and

Given @suman 's response in the later I suspect that there is some improvements to be made, ie I think of late docker has added some ‘clean up’ features that we should be able to enable in the background in time, ie:

docker system df
docker system prune

And a more recently forum thread:

I though we had a current issue open on this but can’t find it so I have created one in the docs repo as a start:

Hope that helps.

@phillxnet thanks for the extended explanation! Much, much appreciated. It gave me a better understanding. Learned something!

Tried the “docker system prune” command and it deleted 3 volumes.

[root@rockstor containers]# docker system prune
WARNING! This will remove:
	- all stopped containers
	- all volumes not used by at least one container
	- all networks not used by at least one container
	- all dangling images
Are you sure you want to continue? [y/N] y
Deleted Volumes:
70358cbcf437e16dafa6e70016df4fd1524a5abeaf445dd00a565b4544fe2401
843d2445ba26dc250659766f8c4f1249b35d3458e004533da13299c1afc00958
d7aa1e0c4a30f90f1427f84a0ce97a2043deb8c5dd05a6568e0e9209f614f07c

Total reclaimed space: 0 B

the reclaimed space was 0 bytes…, but it looks a bit cleaner. :joy: