How to fix Error response from daemon: plugin "myplugin" not found in Docker

DockerINTERMEDIATEMEDIUMUpdated Dec 6, 2025ยท 128 views

The 'plugin not found' error occurs when Docker cannot locate a requested plugin for volumes, networks, or authorization. This typically happens when the plugin is not installed, was installed as a legacy plugin on Docker 1.13+, or the plugin daemon is not running.

Quick fix

Fixes Error response from daemon: plugin "myplugin" not found

# List all managed plugins
docker plugin ls

# Example output:
# ID             NAME                  DESCRIPTION                     ENABLED
# abc123         vieux/sshfs:latest    sshFS plugin for Docker         true
  1. List installed plugins
  2. Install the plugin
  3. Enable a disabled plugin
  4. Check the plugin service for legacy plugins
docker โ€” error
# List all managed plugins
docker plugin ls
# Example output:
# ID NAME DESCRIPTION ENABLED
# abc123 vieux/sshfs:latest sshFS plugin for Docker true
Error response from daemon: plugin "myplugin" not found

What this error means

The "plugin not found" error in Docker appears when you try to use a plugin that the Docker daemon cannot locate or communicate with. Docker plugins extend Docker's functionality by providing additional drivers for volumes, networks, logging, and authorization. They can be managed plugins (installed via `docker plugin install`) or legacy plugins (standalone daemons that communicate via Unix sockets in `/run/docker/plugins/`). When you see this error, Docker is telling you that it searched for the specified plugin in both the managed plugin registry and the legacy plugin socket directory, but found nothing matching the requested name. This error commonly appears in three scenarios: 1. **Volume plugins**: When using `--volume-driver` or `-v` with a custom driver (e.g., flocker, nfs, glusterfs) 2. **Network plugins**: When creating networks with custom drivers like `transparent`, `macvlan`, or overlay plugins 3. **Authorization plugins**: When the Docker daemon is configured to use an auth plugin that isn't running On Windows, note that Docker Engine managed plugins are not supported, so any plugin usage will fail with this error.

Typical symptoms

  • Running `docker run` with `--volume-driver=PLUGIN_NAME` fails with 'plugin not found'
  • Creating a Docker volume with a custom driver fails: 'Error looking up volume plugin'
  • Network creation with custom driver fails: 'could not find plugin in v1 plugin registry'
  • `docker plugin ls` does not show the expected plugin
  • The error message includes 'legacy plugin: plugin not found'
  • Docker Compose fails when a service uses a volume with a custom driver
  • Authorization errors mention a missing auth plugin

Common causes

  1. The plugin is not installed (most common)
  2. Using a legacy plugin format on Docker 1.13+ which expects managed plugins
  3. The plugin daemon/service is not running
  4. Docker was upgraded and legacy plugin references broke
  5. The plugin socket file is missing from /run/docker/plugins/
  6. Attempting to use managed plugins on Windows (not supported)
  7. Plugin name is misspelled or case-sensitive mismatch
  8. Plugin was installed but not enabled with `docker plugin enable`

How to fix "Error response from daemon: plugin "myplugin" not found"

1List installed plugins

First, check which plugins are currently installed and their status:

bash
# List all managed plugins
docker plugin ls

# Example output:
# ID             NAME                  DESCRIPTION                     ENABLED
# abc123         vieux/sshfs:latest    sshFS plugin for Docker         true

If the plugin you need is not listed, it needs to be installed. If it's listed but shows ENABLED: false, you need to enable it.

For legacy plugins, check if the socket exists:

bash
ls -la /run/docker/plugins/
2Install the plugin

Install the plugin using Docker's managed plugin system:

bash
# Install a plugin from Docker Hub
docker plugin install PLUGIN_NAME

# Example: Install the vieux/sshfs plugin
docker plugin install vieux/sshfs

# Install without prompting for capabilities
docker plugin install --grant-all-permissions vieux/sshfs

During installation, Docker will prompt you to grant permissions/capabilities the plugin requires. Review these carefully before accepting.

Common volume plugins:
- vieux/sshfs - SSH filesystem driver
- rexray/ebs - Amazon EBS volumes
- local-persist - Persistent local volumes

For official plugin names, search Docker Hub: https://hub.docker.com/search?type=plugin

3Enable a disabled plugin

If the plugin is installed but disabled, enable it:

bash
# Enable the plugin
docker plugin enable PLUGIN_NAME

# Verify it's now enabled
docker plugin ls

A plugin might be disabled if:
- It was installed with --disable flag
- It encountered errors during startup
- You previously disabled it for configuration changes

Note: You cannot change plugin settings while it's enabled. To modify settings:

bash
docker plugin disable PLUGIN_NAME
docker plugin set PLUGIN_NAME KEY=VALUE
docker plugin enable PLUGIN_NAME
4Check the plugin service for legacy plugins

If you're using a legacy plugin (pre-Docker 1.13 style), the plugin runs as a separate daemon:

bash
# Check if the plugin service is running (example with flocker)
systemctl status flocker-docker-plugin

# Or check the process directly
ps aux | grep docker-plugin

# Check plugin logs
journalctl -u flocker-docker-plugin
# or
cat /var/log/flocker/flocker-docker-plugin.log

If the service isn't running, start it:

bash
sudo systemctl start flocker-docker-plugin
sudo systemctl enable flocker-docker-plugin

The plugin must create a socket file in /run/docker/plugins/ for Docker to find it.

5Migrate from legacy to managed plugin

If you're on Docker 1.13+ and using a legacy plugin, consider migrating to the managed plugin version if available:

bash
# Remove the legacy plugin (stop its service first)
sudo systemctl stop OLD_PLUGIN_SERVICE
sudo rm /run/docker/plugins/OLD_PLUGIN.sock

# Install the managed version
docker plugin install MANAGED_PLUGIN_NAME

# Update your docker-compose.yml or run commands
# to use the new plugin name format

Managed plugins are preferred because:
- Docker handles lifecycle management
- Easier upgrades with docker plugin upgrade
- Better integration with Docker's security model
- Automatic startup with Docker daemon

6Verify plugin works with a test

After installing/enabling the plugin, verify it works:

bash
# For volume plugins - create a test volume
docker volume create --driver PLUGIN_NAME test-volume
docker volume ls

# For network plugins - create a test network
docker network create --driver PLUGIN_NAME test-network
docker network ls

# Clean up test resources
docker volume rm test-volume
docker network rm test-network

If the test fails, check the Docker daemon logs:

bash
# Linux
sudo journalctl -u docker.service -f

# macOS/Windows
# Check Docker Desktop logs via Troubleshoot menu
7Restart Docker daemon

If the plugin was installed but Docker still can't find it, restart the daemon:

bash
# Linux (systemd)
sudo systemctl restart docker

# Linux (service)
sudo service docker restart

# macOS/Windows
# Restart Docker Desktop from the system tray

This forces Docker to re-scan for plugins. After restart, verify:

bash
docker plugin ls
docker info | grep -A5 Plugins

Advanced notes

### Managed vs Legacy Plugins

Docker supports two plugin architectures:

| Feature | Managed Plugins (v2) | Legacy Plugins (v1) |
|---------|---------------------|---------------------|
| Introduced | Docker 1.13 | Docker 1.7 |
| Installation | docker plugin install | Manual daemon setup |
| Lifecycle | Docker-managed | Self-managed |
| Location | Internal plugin store | /run/docker/plugins/ socket |
| Upgrades | docker plugin upgrade | Manual |

### Windows Limitations

Docker Engine managed plugins are not supported on Windows. If you see this error on Windows:

bash
Error response from daemon: plugins are not supported on this platform

You'll need to find alternative solutions:
- Use built-in volume drivers (local)
- Use Docker-in-Docker with a Linux container
- Run your workload on WSL2 backend

### Plugin Capabilities

When installing plugins, review the requested capabilities carefully:

bash
docker plugin install --disable PLUGIN_NAME
docker plugin inspect PLUGIN_NAME

Common capabilities include:
- network: Access to host network
- mount: Access to host filesystem paths
- device: Access to host devices
- capabilities: Linux capabilities like CAP_SYS_ADMIN

### Troubleshooting Plugin Socket Issues

If a legacy plugin's socket isn't being created:

bash
# Check if the plugin directory exists
ls -la /run/docker/plugins/

# Create it if missing (rare)
sudo mkdir -p /run/docker/plugins
sudo chmod 755 /run/docker/plugins

# Check SELinux/AppArmor if socket creation fails
sudo ausearch -m avc -ts recent

### Plugin Logs Location

Managed plugin logs are integrated with Docker daemon logs:

bash
# Filter plugin logs by plugin ID
docker plugin inspect --format '{{.ID}}' PLUGIN_NAME
journalctl -u docker | grep "plugin=PLUGIN_ID"

### Common Plugin Types and Alternatives

If a plugin isn't available, consider these alternatives:

| Plugin Type | Managed Alternative | Built-in Alternative |
|-------------|--------------------|--------------------|
| NFS volumes | local-persist | local driver with NFS options |
| SSH volumes | vieux/sshfs | Mount externally, bind mount |
| Cloud storage | Provider-specific plugins | Cloud CLI + local mount |

### Using Local Driver with NFS

Instead of a plugin, use the built-in local driver with NFS options:

bash
docker volume create --driver local \
  --opt type=nfs \
  --opt o=addr=192.168.1.100,rw \
  --opt device=:/path/to/share \
  nfs-volume

This avoids plugin dependencies entirely.

Frequently asked questions

What does "Error response from daemon: plugin "myplugin" not found" mean?
The "plugin not found" error in Docker appears when you try to use a plugin that the Docker daemon cannot locate or communicate with. Docker plugins extend Docker's functionality by providing additional drivers for volumes, networks, logging, and authorization. They can be managed plugins (installed via docker plugin install) or legacy plugins (standalone daemons that communicate via Unix sockets in /run/docker/plugins/).
How do I fix "Error response from daemon: plugin "myplugin" not found"?
The 'plugin not found' error occurs when Docker cannot locate a requested plugin for volumes, networks, or authorization. This typically happens when the plugin is not installed, was installed as a legacy plugin on Docker 1.13+, or the plugin daemon is not running.
What causes "Error response from daemon: plugin "myplugin" not found"?
The plugin is not installed (most common) Using a legacy plugin format on Docker 1.13+ which expects managed plugins The plugin daemon/service is not running
Is the "Error response from daemon: plugin "myplugin" not found" error serious?
It is a medium-severity error โ€” more of a blocker than a risk. The steps above resolve it.

Official resources & further reading