# Error response from daemon: error while mounting volume '/host/path': permission denied

- **ID:** `docker/volume-bind-mount-permission-denied`
- **Domain:** docker
- **Category:** config_error
- **Verification:** ai_generated
- **Fix Rate:** 82%

## Root Cause

The host directory or file being bind-mounted has restrictive permissions or SELinux labels that prevent the Docker container from accessing it.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| Docker 20.10.22 | active | — | — |
| Docker 24.0.6 | active | — | — |
| RHEL 8 | active | — | — |
| Ubuntu 22.04 | active | — | — |

## Workarounds

1. **Add `:Z` or `:z` suffix to the bind mount to relabel SELinux context: `docker run -v /host/path:/container/path:Z myimage`** (90% success)
   ```
   Add `:Z` or `:z` suffix to the bind mount to relabel SELinux context: `docker run -v /host/path:/container/path:Z myimage`
   ```
2. **Ensure the host directory has at least 755 permissions (`chmod 755 /host/path`) and the Docker daemon has read access. Then retry the mount.** (80% success)
   ```
   Ensure the host directory has at least 755 permissions (`chmod 755 /host/path`) and the Docker daemon has read access. Then retry the mount.
   ```

## Dead Ends

- **** — Even root inside the container may not bypass host SELinux or AppArmor policies; the mount itself is denied at the daemon level. (85% fail)
- **** — The permission denied error occurs before the container process runs; it's a mount-time check, not a runtime access issue. (75% fail)
