How to fix Error response from daemon: error installing plugin in Docker

DockerINTERMEDIATEMEDIUMUpdated Dec 6, 2025ยท 158 views

This error occurs when Docker fails to install a plugin due to permission issues, network problems, incompatible plugin versions, or daemon configuration issues. The solution depends on the specific underlying cause.

Quick fix

Fixes Error response from daemon: error installing plugin

docker plugin install <plugin-name> --debug
  1. Check the full error message
  2. Verify Docker daemon is running properly
  3. Check disk space and permissions
  4. Remove corrupted plugin data
docker โ€” error
docker plugin install <plugin-name> --debug
Error response from daemon: error installing plugin

What this error means

When you run `docker plugin install <plugin-name>`, Docker attempts to download the plugin from Docker Hub (or a private registry), extract it, configure the required capabilities, and enable it. The "error installing plugin" message indicates that one of these steps failed. Docker plugins extend the daemon's functionality by adding volume drivers, network drivers, authorization mechanisms, and other features. Unlike regular containers, plugins run in a privileged context and require explicit permission grants during installation. The actual failure reason is usually provided in additional error text following the main message. Common culprits include insufficient permissions on plugin directories, network connectivity issues preventing download, missing plugin dependencies, or incompatibility between the plugin version and your Docker Engine version.

Typical symptoms

  • docker plugin install command fails with 'Error response from daemon: error installing plugin'
  • Plugin installation hangs and then times out
  • Plugin appears in docker plugin ls but shows as disabled
  • Docker daemon logs show permission denied or file not found errors
  • Plugin install succeeds but plugin fails to enable
  • Installation fails with 'plugin not found' even though the plugin exists on Docker Hub

Common causes

  1. Insufficient permissions to write to the plugin directory (/var/lib/docker/plugins)
  2. Network connectivity issues preventing plugin download from registry
  3. Plugin version incompatible with current Docker Engine version
  4. Docker daemon not running or unresponsive
  5. Insufficient disk space for plugin installation
  6. Missing kernel capabilities or modules required by the plugin
  7. SELinux or AppArmor blocking plugin installation
  8. Corrupted plugin data from a previous failed installation
  9. Plugin requires capabilities that weren't granted during installation

How to fix "Error response from daemon: error installing plugin"

1Check the full error message

The generic "error installing plugin" message is usually followed by more specific information. Run the install command with verbose output:

bash
docker plugin install <plugin-name> --debug

Or check the Docker daemon logs for detailed error information:

bash
# For systemd-based systems
sudo journalctl -u docker -n 100 --no-pager

# Or check the log file directly
sudo tail -100 /var/log/docker.log

The specific error message will guide your troubleshooting.

2Verify Docker daemon is running properly

Ensure the Docker daemon is running and responsive:

bash
# Check daemon status
sudo systemctl status docker

# Test basic functionality
docker info

# If daemon isn't running, start it
sudo systemctl start docker

If the daemon is in a bad state, try restarting it:

bash
sudo systemctl restart docker
3Check disk space and permissions

Plugin installation requires adequate disk space and proper permissions:

bash
# Check available disk space
df -h /var/lib/docker

# Verify plugin directory permissions
ls -la /var/lib/docker/plugins

# If the directory doesn't exist, it will be created during install
# Ensure /var/lib/docker is owned by root
ls -la /var/lib/docker

If disk space is low, clean up unused Docker resources:

bash
docker system prune -a
4Remove corrupted plugin data

If a previous installation attempt failed, corrupted data may prevent reinstallation:

bash
# List all plugins including disabled ones
docker plugin ls -a

# Force remove the problematic plugin
docker plugin rm -f <plugin-name>

# Clear plugin state if it still appears
sudo rm -rf /var/lib/docker/plugins/<plugin-id>

Then restart Docker and try installing again:

bash
sudo systemctl restart docker
docker plugin install <plugin-name>
5Grant required capabilities during installation

Docker plugins often require specific capabilities. When you run docker plugin install, Docker prompts you to grant permissions. Make sure to accept them:

bash
# Install and auto-accept capability grants
docker plugin install <plugin-name> --grant-all-permissions

If you need to see what capabilities are required first:

bash
# Inspect plugin configuration from Docker Hub
docker plugin inspect <plugin-name>

For specific capability grants:

bash
docker plugin install <plugin-name> \
  network.host=true \
  mount.source=/path/on/host mount.destination=/path/in/plugin
6Check network connectivity to registry

Plugin installation requires downloading from Docker Hub or another registry:

bash
# Test connectivity to Docker Hub
curl -I https://registry-1.docker.io/v2/

# If using a proxy, ensure Docker is configured
cat /etc/systemd/system/docker.service.d/http-proxy.conf

For air-gapped environments, you may need to:
1. Download the plugin on a connected machine
2. Use docker plugin create to create it locally
3. Or set up a private registry with the plugin

7Check plugin compatibility

Ensure the plugin is compatible with your Docker version:

bash
# Check your Docker version
docker version

# Check plugin requirements on Docker Hub
# Visit: https://hub.docker.com/search?q=<plugin-name>&type=plugin

Some plugins require specific Docker API versions. If there's a version mismatch:

1. Update Docker to a compatible version, or
2. Use an older plugin version:

bash
docker plugin install <plugin-name>:1.0.0

Advanced notes

### SELinux and AppArmor Considerations

On systems with SELinux or AppArmor, plugin installation may be blocked by security policies:

SELinux (RHEL/CentOS/Fedora):

bash
# Check for SELinux denials
sudo ausearch -m avc -ts recent | grep docker

# Temporarily set SELinux to permissive for testing
sudo setenforce 0

# If that fixes it, create a proper policy instead of disabling SELinux

AppArmor (Ubuntu/Debian):

bash
# Check AppArmor status
sudo aa-status

# Review Docker's AppArmor profile
cat /etc/apparmor.d/docker

### Plugin Directory Structure

Docker plugins are stored in /var/lib/docker/plugins/. Each plugin has:
- config.json: Plugin configuration and capabilities
- rootfs/: Plugin's filesystem
- blobsum: Content digest

If you need to manually inspect or clean up:

bash
sudo ls -la /var/lib/docker/plugins/
sudo cat /var/lib/docker/plugins/<plugin-id>/config.json

### Common Plugin Types and Requirements

Volume plugins (like REX-Ray, Portworx):
- May require kernel modules for storage backends
- Often need access to /dev and /sys

Network plugins (like Weave, Calico):
- Require NET_ADMIN capability
- May need kernel networking modules

Log plugins (like Splunk, Fluentd):
- Usually have fewer requirements
- May need outbound network access

### Creating Plugins Locally

If you can't pull from a registry, you can create plugins locally:

bash
# Build plugin from a rootfs directory
docker plugin create my-plugin:latest ./plugin-dir

# Enable and use
docker plugin enable my-plugin:latest

### Docker in Docker (DinD) Considerations

When running Docker inside Docker, plugin installation may fail due to:
- Nested container limitations
- Missing /var/lib/docker volume mount
- Privileged mode requirements

Ensure DinD containers run with appropriate privileges and volume mounts.

Frequently asked questions

What does "Error response from daemon: error installing plugin" mean?
When you run docker plugin install <plugin-name>, Docker attempts to download the plugin from Docker Hub (or a private registry), extract it, configure the required capabilities, and enable it. The "error installing plugin" message indicates that one of these steps failed. Docker plugins extend the daemon's functionality by adding volume drivers, network drivers, authorization mechanisms, and other features.
How do I fix "Error response from daemon: error installing plugin"?
This error occurs when Docker fails to install a plugin due to permission issues, network problems, incompatible plugin versions, or daemon configuration issues. The solution depends on the specific underlying cause.
What causes "Error response from daemon: error installing plugin"?
Insufficient permissions to write to the plugin directory (/var/lib/docker/plugins) Network connectivity issues preventing plugin download from registry Plugin version incompatible with current Docker Engine version
Is the "Error response from daemon: error installing plugin" error serious?
It is a medium-severity error โ€” more of a blocker than a risk. The steps above resolve it.

Official resources & further reading