mirror of https://github.com/docker/docs.git
				
				
				
			
		
			
				
	
	
		
			62 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
---
 | 
						|
description: Troubleshooting volume errors
 | 
						|
keywords: cadvisor, troubleshooting, volumes, bind-mounts
 | 
						|
title: Troubleshoot volume errors
 | 
						|
redirect_from:
 | 
						|
- /engine/admin/troubleshooting_volume_errors/
 | 
						|
---
 | 
						|
 | 
						|
This topic discusses errors which may occur when you use Docker volumes or bind
 | 
						|
mounts.
 | 
						|
 | 
						|
## `Error: Unable to remove filesystem`
 | 
						|
 | 
						|
Some container-based utilities, such
 | 
						|
as [Google cAdvisor](https://github.com/google/cadvisor), mount Docker system
 | 
						|
directories, such as `/var/lib/docker/`, into a container.  For instance, the
 | 
						|
documentation for `cadvisor` instructs you to run the `cadvisor` container as
 | 
						|
follows:
 | 
						|
 | 
						|
 | 
						|
```bash
 | 
						|
$ sudo docker run \
 | 
						|
  --volume=/:/rootfs:ro \
 | 
						|
  --volume=/var/run:/var/run:rw \
 | 
						|
  --volume=/sys:/sys:ro \
 | 
						|
  --volume=/var/lib/docker/:/var/lib/docker:ro \
 | 
						|
  --publish=8080:8080 \
 | 
						|
  --detach=true \
 | 
						|
  --name=cadvisor \
 | 
						|
  google/cadvisor:latest
 | 
						|
```
 | 
						|
 | 
						|
When you bind-mount `/var/lib/docker/`, this effectively mounts all resources of
 | 
						|
all other running containers as filesystems within the container which mounts
 | 
						|
`/var/lib/docker/`. When you attempt to remove any of these containers, the
 | 
						|
removal attempt may fail with an error like the following:
 | 
						|
 | 
						|
```none
 | 
						|
Error: Unable to remove filesystem for
 | 
						|
74bef250361c7817bee19349c93139621b272bc8f654ae112dd4eb9652af9515:
 | 
						|
remove /var/lib/docker/containers/74bef250361c7817bee19349c93139621b272bc8f654ae112dd4eb9652af9515/shm:
 | 
						|
Device or resource busy
 | 
						|
```
 | 
						|
 | 
						|
The problem occurs if the container which bind-mounts `/var/lib/docker/`
 | 
						|
uses `statfs` or `fstatfs` on filesystem handles within `/var/lib/docker/`
 | 
						|
and does not close them.
 | 
						|
 | 
						|
Typically, we would advise against bind-mounting `/var/lib/docker` in this way.
 | 
						|
However, `cAdvisor` requires this bind-mount for core functionality.
 | 
						|
 | 
						|
If you are unsure which process is causing the path mentioned in the error to
 | 
						|
be busy and preventing it from being removed, you can use the `lsof` command
 | 
						|
to find its process. For instance, for the error above:
 | 
						|
 | 
						|
```bash
 | 
						|
$ sudo lsof /var/lib/docker/containers/74bef250361c7817bee19349c93139621b272bc8f654ae112dd4eb9652af9515/shm
 | 
						|
```
 | 
						|
 | 
						|
To work around this problem, stop the container which bind-mounts
 | 
						|
`/var/lib/docker` and try again to remove the other container.
 |