Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
The Docker CLI cannot reach the Docker daemon, usually because the engine is stopped, the context is wrong, or the socket is unavailable.
Practical troubleshooting guides for npm, pip, Maven, NuGet, .NET, and Docker errors.
The Docker CLI cannot reach the Docker daemon, usually because the engine is stopped, the context is wrong, or the socket is unavailable.
Docker cannot reach the registry host because the network path has no usable route, the gateway is blocked, or the destination subnet is unreachable.
Docker cannot access /var/run/docker.sock because your user lacks permission to the daemon socket or the socket ownership is wrong.
Docker denied access because the repository path is wrong, the image is private, or the provided credentials do not have permission.
Docker got a connection refused while trying to reach either the registry endpoint or the DNS resolver used to look it up.
Docker started the container, but the configured command or entrypoint was not found in the image PATH or at the specified path.
The container entrypoint exists, but Docker cannot execute it because the file lacks execute permissions or the mount blocks execution.
Docker could not find the referenced container, image, network, or volume ID, usually because it was deleted, mistyped, or belongs to another context.
Docker rejected the image name because the reference format is invalid, commonly due to uppercase letters, bad tagging, or malformed syntax.
Docker rejected the image reference because repository names must be lowercase, so uppercase letters or malformed syntax made it invalid.
Docker hit an i/o timeout while contacting the registry, usually because of DNS, proxy, firewall, or slow network connectivity.
Docker could not find the requested manifest for that image tag, which usually means the tag does not exist or the registry metadata is out of date.
Docker found the image tag, but no manifest matches your OS or CPU architecture, so the image is not built for your platform.
Docker cannot find that image locally, so the image ID or tag is wrong, was removed, or was never pulled onto this machine.
Docker cannot push the image because the tag does not exist locally, so you need to tag the image correctly before pushing.
Docker reached the registry over HTTP, but the registry or reverse proxy returned HTTP 503 because the service was unhealthy or overloaded.
Docker cannot pull from that repository because the name is wrong, the repository does not exist, or your account lacks access.
Docker timed out while waiting for the registry response, which usually points to slow network links, proxy issues, or an overloaded registry.
Docker Hub rejected the pull because you hit its rate limit, often fixed by authenticating, waiting, or using a cached mirror.
Docker cannot remove the container filesystem because the device is busy, usually due to running processes, mounts, or lingering references.
Docker registry authentication failed because no valid credentials were sent, so you need to log in or fix the token used for that registry.
Docker login failed because the registry rejected the username or password, so the stored credentials or access token are wrong.
Docker cannot remove the volume because a running or stopped container still references it, so you must detach or delete the dependent container first.
npm rejected the HTTPS connection because the registry or proxy certificate is expired, so the TLS handshake can no longer be trusted.
npm rejected the HTTPS certificate because the registry or proxy certificate has been revoked and is no longer trusted.
npm rejected the registry TLS certificate because the certificate chain signature could not be verified by your local trust store.
npm does not trust the registry certificate chain, usually because of a missing internal CA, corporate proxy, or intercepted HTTPS traffic.
npm received a self-signed certificate at the top of the TLS chain, usually from a private registry or HTTPS-inspecting proxy.
npm received a 401 Unauthorized response from the registry because your token, password, or .npmrc authentication settings are missing or invalid.
npm was authenticated, but the registry returned 403 Forbidden because your account lacks permission for that package, scope, or action.
npm returned 404 because the package, version, scope, or registry URL does not exist at the registry you are using.
npm received HTTP 409 Conflict because that package version already exists or the registry state conflicts with the publish request.
npm received HTTP 422 because the publish payload was semantically invalid, such as bad metadata, malformed tarball data, or invalid package state.
npm hit EACCES because the current user does not have permission to read, write, or execute one of the required files or directories.
npm could not resolve the registry hostname because DNS returned EAI_AGAIN, a temporary lookup failure that usually clears on retry.
npm returned EBADENGINE because the package declares Node.js or npm engine requirements that do not match the versions running your install.
npm returned EBADPLATFORM because the package does not support the current operating system, CPU architecture, or runtime combination.
npm hit EBUSY because a file or directory was locked or still in use by another process, editor, antivirus tool, or sync service.
npm aborted the network request before completion, often because the remote server closed the connection or a proxy interrupted it.
npm reached the registry host, but the TCP connection was refused, usually because the server, proxy, or mirror is not accepting connections.
npm lost the network connection because the peer reset the TCP session mid-request, often due to proxies, firewalls, or flaky networks.
npm hit EEXIST because it tried to create a file or directory that already exists where npm expected to create a new one.
npm downloaded a package tarball whose checksum did not match the expected integrity value (lockfile/metadata mismatch).
npm rejected the package name because it does not follow npm naming rules, such as invalid characters, uppercase letters, or reserved names.
npm rejected the dist-tag because the tag name is invalid, reserved, or formatted in a way that conflicts with version parsing.
npm rejected the version because the semver string is invalid or malformed in package metadata, tags, or your command.
npm hit EISDIR because it expected a file path, but the target resolved to a directory instead, so npm could not read or write it correctly.
npm could not parse package.json because the JSON is invalid, such as trailing commas, mismatched quotes, or broken syntax.
npm returned ELIFECYCLE because a package lifecycle script like install, test, or build exited with a non-zero status.
npm returned ELOCKVERIFY because the lockfile and installed dependency tree do not agree with what npm expected to verify.
npm ls reported ELSPROBLEMS because the installed dependency tree contains missing, invalid, or extraneous packages.
npm hit EMFILE because the process opened too many files at once and exceeded the per-process file descriptor limit.
npm hit ENAMETOOLONG because the generated file path exceeded your operating system path length limit during install or extract.
npm requires authentication for this registry or package, so you must log in or configure a valid auth token in .npmrc.
npm hit ENFILE because the whole system reached its open-file limit, so new files or sockets could not be opened.
npm hit ENOENT because a required file or directory was missing, often package.json, a lockfile path, or an extracted dependency.
npm returned ENOSELF because the package name matches the project you are trying to install, creating a self-dependency.
npm hit ENOSPC because the disk ran out of free space while extracting packages, writing cache data, or updating node_modules.
npm hit ENOTDIR because it expected a directory in the path, but a file exists there instead, breaking the package or cache lookup.
npm hit ENOTEMPTY because it tried to replace or remove a directory that still contains files, often during install, cleanup, or rename steps.
npm could not resolve the registry hostname, so DNS lookup failed before npm could connect to the package registry.
npm requires a one-time password for this publish or settings change because two-factor authentication is enabled on the account.
npm hit EPERM because the operating system denied the filesystem operation, commonly due to permissions, locks, antivirus, or Windows file handling.
npm hit EPIPE because it tried to write output to a closed pipe or terminated process, often in CI logs or shell pipelines.
npm could not publish because that package version already exists in the registry, so you need a new version before publishing again.
npm failed with ERESOLVE because it could not build a dependency tree that satisfies the requested versions and peer dependency constraints.
npm hit EROFS because it tried to write cache or package files on a read-only filesystem, mount, or container layer.
npm hit a socket timeout while waiting for registry network I/O, usually because of slow connections, proxies, or an overloaded registry.
npm returned ETARGET because no published version matches the version range or dist-tag requested in your install command.
npm timed out while talking to the registry or downloading a package tarball, usually because of slow networks, proxies, or registry issues.
npm returned EUSAGE because the command, flags, or configuration were invalid for that operation, so npm stopped before doing any work.
npm connected over HTTPS, but the certificate presented by the server does not match the registry hostname you requested.
npm rejected the TLS connection because a self-signed certificate appeared somewhere in the certificate chain to the registry.
npm could not build a trusted TLS chain because the issuer certificate for the registry was missing or unavailable.
npm could not verify the registry TLS chain because the issuer certificate is missing from the local machine trust store.
npm could not verify the registry TLS certificate because the leaf certificate chain is incomplete or the required issuer is missing locally.
Maven could not resolve one or more project dependencies, usually because of missing artifacts, bad repository settings, or network access problems.
Maven could not download or parse the POM for a dependency/plugin, so it cannot resolve that artifact's transitive dependencies.
Maven could not find an artifact in the configured repositories, and the missing result may be cached in the local repository.
Maven cannot resolve the `<parent>` POM for your project from the local filesystem or configured repositories.
You ran a Maven goal that needs a `pom.xml`, but Maven cannot find one in the current directory (or via `-f`).
Maven could not transfer the artifact from the repository, usually because of network failures, proxy issues, TLS problems, or bad credentials.
The JVM running Maven cannot validate the HTTPS certificate chain of the repository, so Maven refuses the connection.
The repository requires authentication, but Maven did not send valid credentials for the repository `<id>` being used.
The repository rejected the request (403). Your credentials may be valid, but you are not authorized for that repository/path or operation.
Maven is using an HTTP proxy to reach repositories, but the proxy requires authentication and Maven is not configured with valid proxy credentials.
Maven cannot map that plugin prefix to a real plugin artifact, usually because the plugin is undeclared or missing from configured plugin repositories.
Maven could not resolve the plugin or one of its dependencies, usually because plugin repositories, credentials, or network access are wrong.
Maven cannot write to the local repository directory (`~/.m2/repository` by default), usually due to permissions or a read-only filesystem.
Maven downloaded the artifact, but checksum verification failed, usually because the file is corrupted or a repository or proxy served different bytes.
Maven 3.8.1 and newer refuse insecure HTTP repository URLs and route them through the built-in `maven-default-http-blocker` mirror.
Maven located a JAR coordinate, but could not download the corresponding POM, so it cannot determine transitive dependencies or metadata for that artifact.
The machine running Maven could not resolve the repository hostname via DNS, so Maven cannot download artifacts or metadata.
The JVM running Maven could not complete the TLS handshake with the repository, so Maven cannot download artifacts over HTTPS.
Maven is running with offline mode enabled (`-o` / `--offline`), so it will not contact remote repositories to download missing artifacts.
Your shell can't find a `pip` executable on `PATH` (or you're using an environment where `pip` is intentionally not installed).
Windows cannot find the pip command because Python or its Scripts directory is missing from PATH, or pip was not installed correctly.
Your OS Python is marked as "externally managed" (PEP 668), so pip refuses to modify the system environment outside a virtual environment.
Python cannot import pip because pip is not installed in that interpreter, the environment is broken, or you are using the wrong Python executable.
pip does not have `update` or `upgrade` subcommands. Upgrading packages is done with `pip install --upgrade ...`.
pip install failed because no package, requirements file, wheel, or local path was provided, so pip had nothing to install.
You're running pip through an outdated entrypoint script. It still works today, but it can break after pip upgrades.
pip was asked to install from a requirements file path that does not exist (wrong filename, wrong directory, or missing checkout).
pip could not parse a requirement specifier (malformed version constraint, quotes/smart-quotes, comments, or an invalid line in a requirements file).
You asked pip to install from a local directory or sdist, but it doesn't contain standard Python packaging metadata (`pyproject.toml` or `setup.py`).
pip could not find any installable release that matches your requirement and your environment (Python version, OS/architecture, and index configuration).
The package (or one of its dependencies) declares a `Requires-Python` range that excludes the Python interpreter you're using.
pip found conflicting dependency constraints and could not choose a set of package versions that satisfies every requirement.
Your environment is already inconsistent. pip installed or upgraded something, but the full installed set now contains version conflicts.
pip delegated part of the install to an external build step (PEP 517 backend or legacy `setup.py`) and that subprocess failed.
pip attempted to build a wheel from a PEP 517 project, but the wheel build failed and pip cannot install it without a wheel.
pip is building a package from source, but your system is missing a required toolchain (C/C++ compiler, Python headers, MSVC Build Tools, or Rust).
pip tried to write into a directory you don't have permission to modify (often system site-packages or a protected install directory).
The machine ran out of disk space while pip was downloading/building/installing packages (often in the temp directory or cache).
pip detected that its cache directory is owned by a different user (often because pip was previously run with `sudo`), so it disables caching for safety.
Your Python was built or installed without SSL support, so pip cannot make HTTPS requests to package indexes like PyPI.
pip is repeatedly failing to reach the package index due to network timeouts, proxy issues, or TLS incompatibilities, and it is retrying until it gives up.
You are using hash-checking mode (`--require-hashes`), but the downloaded file's hash doesn't match, or some requirements are missing hashes.
pip cannot uninstall a package because it cannot find the installed-files manifest (`RECORD`) in the package metadata.
pip will not uninstall the package because distutils or OS packaging installed it without metadata that safely maps files to remove.
pip detected a corrupted or incompatible cache entry and ignored it. Installs may be slower or may fail if corruption is widespread.
NuGet could not use one of the configured package sources because the source URL or local path was unavailable, invalid, or unreadable during restore.
NuGet blocked the configured feed because its service index or advertised resources use insecure HTTP instead of HTTPS by default.
NuGet could not find the requested package ID in any enabled source, which usually means the wrong feed, mapping, name, or credentials.
The package ID exists, but none of the versions available from the enabled feeds satisfy the requested version range or exact pin.
NuGet could not choose one package version because the dependency graph contains incompatible version ranges that cannot be satisfied together.
NuGet found conflicting requested versions of the same package and needs you to pin or upgrade dependencies so the graph converges.
The selected package version does not contain lib or ref assets compatible with one of your project’s target frameworks or platforms.
NuGet resolved a lower version than one dependency path requested, which may break assumptions and is often treated as an error.
NuGet resolved a package version outside another package’s declared dependency range, and that mismatch may be treated as an error.
With Central Package Management enabled, floating versions in `PackageVersion` are blocked unless explicitly enabled.
NuGet audit data marked a resolved package version as having a known high-severity vulnerability, which may fail restore or CI.
The .NET SDK selected for this build is older than the project’s target framework, so the SDK cannot build or restore it.
The build cannot find project.assets.json from the restore step, so package resolution data is missing for the current project.
The project explicitly includes files that SDK-style projects already include by default, creating duplicate items.
Two files in the publish graph would land at the same relative output path, so the SDK fails instead of overwriting one silently.
The project targets a workload-based platform, but the required .NET workload isn’t installed for the current SDK.
The existing assets file was restored for a different target framework or runtime identifier than the current build or publish command.
The `RuntimeIdentifier` you specified isn’t in the RID graph used by your SDK, so RID-specific resolution fails.
MSBuild was invoked without a project or solution argument in a directory that contains no buildable project or solution.
MSBuild could not resolve the project SDK, such as Microsoft.NET.Sdk, because the required .NET SDK or SDK resolver is unavailable.
MSBuild cannot find .NET Framework reference assemblies because the targeting pack is missing, the target framework is wrong, or the fallback package is absent.