Free tools Windows power users keep installed
One-click scans. No signup required.
Most Docker failures become straightforward once you identify the layer that is broken: the daemon, image build, container startup, application runtime, network, storage, permissions, or host integration. Start with docker info to test daemon reachability, then collect the container status, exit code, logs, mounts, network membership, and host-side error before changing configuration. The sections below map the common symptom to a specific check and a reversible fix.
Antihost offers VPS plans with one-click Docker, NVMe storage and a 14-day free trial.
Use a layer-first diagnostic workflow
Docker Engine includes the long-running dockerd daemon, a command-line client, and managed images, containers, networks, and volumes. A command can fail because the client cannot reach the daemon, because an image cannot be built, because a container cannot be created, or because the application inside a running container is unhealthy. Treating every error as an application problem wastes time.
As an Amazon Associate I earn from qualifying purchases.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →| Failure layer | Typical symptom | First check | What a successful check tells you |
|---|---|---|---|
| Daemon | Cannot connect to Docker or the daemon socket | docker info |
The CLI can reach an engine and returns server details |
| Build | BuildKit stops at a Dockerfile step | Read the first failing step and its complete error | Whether the context, Dockerfile, base image, package repository, or architecture is at fault |
| Container creation/startup | Container is created but exits or never starts | docker ps -a and docker inspect |
Exit code, command, arguments, restart policy, and mount configuration |
| Application runtime | Container is running but the service is unavailable | docker logs, health status, and an in-container process check |
Whether the process is alive and where it writes diagnostics |
| Networking | Port conflict or container-to-container connection failure | Published-port ownership, network membership, DNS, and bind address | Whether the host port, Docker network, or application listener is blocking traffic |
| Storage and permissions | Missing files, denied access, or a service that cannot initialize | Host path, Desktop sharing, mount type, and UID/GID | Whether the wrong path is mounted or the process cannot access it |
| Host integration | Linux works but Desktop, WSL2, Windows, or rootless mode fails | Desktop Troubleshoot, file sharing, line endings, and rootless constraints | Whether the host environment imposes a documented limitation |
Save the exact command and error before retrying. A changed command can hide the original failure. Once you know the layer, make one change at a time and rerun the smallest check that can disprove your hypothesis.
When the Docker daemon is unreachable
Run the operating-system-independent check
Run:
docker info
This command asks the client for server information. If it returns both client and server data, the daemon is reachable; an application or container issue is more likely. If it reports that it cannot connect, do not troubleshoot image code yet. Check which engine and socket the CLI is targeting, then inspect the daemon itself.
#1 Best Overall
- BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
- EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
- COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
- LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
- WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.
Inspect a Linux daemon
- Check the service state with
sudo systemctl status docker. - Read the service journal with
sudo journalctl -xu docker.service. If your distribution routes service messages elsewhere, inspect its syslog or messages file. - Look for a failed storage driver, invalid daemon configuration, exhausted disk space, permission errors, or a socket that is already in use.
- After correcting the underlying error, restart the service and run
docker infoagain.
Enable daemon debug logging only when ordinary logs do not identify the failure. Debug output is much noisier and can expose details that you do not want in routine logs; return the daemon to its normal level after diagnosis.
Inspect Docker Desktop on macOS or Windows with WSL2
Desktop runs the engine inside a managed virtual machine. Its VM service diagnostics are written to an init.log file. Use the Desktop Troubleshoot area and that VM log when the CLI cannot reach the engine or when the engine is healthy but host integration is failing. A healthy Desktop engine does not guarantee that a project directory is shared or that a Windows path is mounted correctly.
Recommended Free Tools
Check client targeting before reinstalling
A CLI can point at the wrong context or a stale DOCKER_HOST value. Check docker context ls and the relevant environment variables, then select the intended context rather than reinstalling Docker. This is a reversible correction and preserves images, volumes, and configuration.
Fix image-build failures without destroying useful evidence
Read the first failing BuildKit step
Build output after the first error often contains secondary failures. Start at the earliest failed step and verify these items in order:
- Build context: Confirm that the files referenced by
COPYandADDare inside the directory sent to the build and are not excluded by.dockerignore. - Dockerfile path: Make sure the command points to the intended file, especially when a repository has multiple Dockerfiles.
- Base image: Check the image name and tag for spelling, registry access, and availability for the target architecture.
- Package repositories: Verify DNS, outbound access, repository certificates, and package names from inside the build environment.
- Architecture: Confirm that the base image and any downloaded binary match the host or requested target platform.
Use a clean build selectively
Run docker build --no-cache when you need to distinguish stale cache from a deterministic failure. A no-cache build is slower and does not repair a bad Dockerfile, unavailable package repository, incorrect architecture, or missing context, so it should not be the default response to every build error. Preserve the original output first, then compare the failing step with and without cache.
Separate build success from startup success
A successful image build proves that the image layers were created; it does not prove that the configured command can run. Once the image builds, create a container and inspect its startup output. Troubleshooting material for Docker emphasizes checking startup and runtime logs after a successful build rather than repeatedly rebuilding the same image.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Rank #2
- WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
- AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
- PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
- ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
- COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
Find out why a container exits immediately
Capture status, exit code, and command
Stopped containers remain visible with:
docker ps -a
For a detailed state record, run:
docker inspect --format '{{.State.Status}} exit={{.State.ExitCode}} error={{.State.Error}}' CONTAINER
Then inspect the command and arguments:
docker inspect --format '{{.Path}} {{json .Args}}' CONTAINER
An exit code is evidence, not a diagnosis. A zero exit code can be expected for a one-shot task; a nonzero code indicates that the process reported failure. Compare the command with the process the image is intended to run, and verify required environment variables, configuration files, and working directory.
Check restart behavior
A restart policy can make a failing process appear to flicker or can hide the original timing. Inspect it with:
docker inspect --format '{{.HostConfig.RestartPolicy.Name}}' CONTAINER
Temporarily use a one-run container while debugging, or stop an unwanted restart loop before collecting logs. Do not remove a restart policy permanently just to make a symptom disappear; it may be part of the service’s intended availability behavior.
Remember that the main process controls container lifetime
A container stops when its foreground process exits. A shell started without an interactive terminal, a script that reaches its final line, or a service that daemonizes itself can therefore end the container even though the image built correctly. Run the intended foreground command explicitly and verify that it remains attached to standard output and standard error.
Why docker logs is empty
docker logs CONTAINER reads the container process’s standard output and standard error. It will be empty or nearly empty in several legitimate cases:
- The application writes to files inside the container instead of STDOUT or STDERR.
- The process exits before it emits output.
- The configured logging driver sends records to another destination.
- You are inspecting a different container than the one handling the request.
Check the logging driver
docker inspect --format '{{.HostConfig.LogConfig.Type}}' CONTAINER
If the driver is external, read from that destination according to its configuration. If the application writes files, inspect the relevant path with an interactive shell or expose the files through an intentional volume. Do not change the image solely because the Docker CLI has no log lines; first establish where the process is designed to report.
Rank #3
- Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
- Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
- Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
- ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
- Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
Make future diagnostics observable
For services you control, configure the primary process to log useful startup, configuration, and error information to STDOUT or STDERR. Keep sensitive values out of those messages. When file-based logs are required, document their path, rotation, and collection method so an empty docker logs result is not mistaken for a healthy process.
Resolve port conflicts and container-to-container network failures
Fix “port is already allocated” or “address is already in use”
The host port in a publishing rule can belong to another container or to a non-Docker process. Identify the owner before stopping anything.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware match| Host | Useful ownership check | Next action |
|---|---|---|
| Linux | ss -ltnp or sudo lsof -nP -iTCP:PORT -sTCP:LISTEN |
Stop the owning service if appropriate, or publish a different host port |
| macOS | lsof -nP -iTCP:PORT -sTCP:LISTEN |
Confirm the process and change the host-side mapping if needed |
| Windows | netstat -ano | findstr :PORT, followed by tasklist /FI "PID eq PID" |
Identify the PID before terminating anything, or choose another host port |
Changing HOST_PORT:CONTAINER_PORT changes only how the host reaches the service. The application inside the container must continue listening on its container port. If a published port is free but requests still fail, continue with the network and bind-address checks below.
Check network membership and service names
- List networks with
docker network ls. - Inspect the network and its attached containers with
docker network inspect NETWORK. - From one container, resolve the other service by its Compose or container-network name rather than by an assumed host address.
- Verify that the destination service listens on the expected container port and on an address reachable from the network.
A service bound only to 127.0.0.1 inside its container is reachable from that container but not from peers. Bind to the container’s appropriate interface, commonly 0.0.0.0 for a service intended to accept network traffic, while applying the application’s own access controls.
Investigate DNS and host forwarding
Docker documents host-forwarding and DNS conditions that can prevent connectivity even when both containers are running. Compare the network configuration, DNS response, route, and application listener separately. A name-resolution failure, a refused connection, and a timeout represent different faults and require different fixes.
Understand rootless-mode differences
Rootless Docker runs the daemon and containers without root privileges, reducing the impact of a daemon compromise but changing available operations. A published privileged port, such as port 80, can fail when the host’s unprivileged-port threshold is higher. Use a non-privileged host port first. Applying a capability or sysctl change can lower that threshold, but do so only after reviewing its security and operational consequences.
Rank #4
- Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
- Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
- 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
- Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
- USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
Rootless network-driver choice also affects throughput and source-IP behavior. If an application depends on the original client address, high throughput, or a particular forwarding mode, record the selected driver and test those requirements explicitly instead of assuming rootful networking semantics.
Repair volume mounts, paths, and permissions
Verify the host path before changing the container
- Confirm that the host path exists and is the intended file or directory.
- Inspect the effective mounts with
docker inspect CONTAINERor a formatted mounts query. - Check whether the mount is a bind mount from the host or a Docker-managed named volume.
- Confirm that Docker Desktop is allowed to share the containing drive or folder.
A Desktop project outside an allowed location can produce “file not found” or access-denied errors even when the path is valid on the host. Grant sharing for the containing drive or folder, then retry the smallest mount test. Keep sharing as narrow as practical.
Choose bind mounts and named volumes deliberately
| Persistence method | Best fit | Common failure mode | Diagnostic advantage |
|---|---|---|---|
| Bind mount | Source code, configuration, or files that must be edited on the host | Host path, Desktop sharing, line endings, and host ownership affect the container | You can inspect the exact host files directly |
| Named volume | Application data that Docker should manage independently of a project directory | Data may be stored in a less obvious location and must be backed up explicitly | It avoids many host filesystem and Desktop-sharing differences |
On Windows, shared-volume permissions have documented defaults. An application that requires strict Unix-style ownership can behave more reliably with a named or otherwise non-host-mounted volume than with a Windows bind mount.
Check UID, GID, and mount masking
The process user inside the container may not match the owner of a bind-mounted path. Compare the container identity with id and inspect host ownership and mode bits with the host’s file-information tools. Correct the ownership, permissions, or container user deliberately; avoid making a project world-writable as a blanket fix.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
A file mount can also hide a directory that existed in the image, and a directory mount can hide image files at the same path. If an expected file “disappears,” inspect the mount target before rebuilding the image. Mount the file or directory at a path that does not mask required image content, or copy the needed defaults into the mounted location.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Windows and WSL2-specific failures
Convert shell scripts to LF line endings
A Unix shell script copied from a Windows checkout with CRLF line endings can fail with syntax errors in a Linux container. Convert it with:
Best Value
- Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
- Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
- Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
- Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
- Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
dos2unix script.sh
You can also configure the editor or repository checkout to preserve LF endings for scripts. Check the actual file inside the build context; changing only the host editor does not repair a script already copied into an image layer.
Diagnose Windows port ownership before stopping processes
Use netstat -ano | findstr :PORT to obtain the owning PID, then map it with tasklist /FI "PID eq PID". Confirm that the process is safe to stop. If it is a required Windows service, publish the container on another host port instead.
Separate engine health from Desktop integration
When docker info succeeds but a mount fails, focus on Desktop file-sharing settings, the Windows path, permissions, and line endings rather than reinstalling the engine. The Desktop Troubleshoot area is also the appropriate place to collect diagnostics for VM, WSL2, or integration failures.
Use a safer fix-selection framework
The least disruptive remedy depends on the execution mode, host platform, persistence method, and observability design.
| Situation | Prefer first | Use caution with |
|---|---|---|
| Daemon unreachable | docker info, service/VM logs, and context checks |
Reinstalling or deleting Docker data before logs are collected |
| Stale build suspected | Compare a normal build with one targeted --no-cache run |
Using no-cache for every build, which hides caching behavior and slows diagnosis |
| Host data must be edited live | A narrowly scoped bind mount and verified sharing | Broad drive sharing or permissive ownership changes |
| Application data must survive project changes | A named volume with a documented backup plan | Assuming a bind mount has the same ownership semantics on Windows |
| Rootless daemon cannot publish port 80 | A non-privileged host port | Lowering the unprivileged threshold without reviewing security impact |
| Logs are empty | Inspect STDOUT/STDERR configuration and the logging driver | Rebuilding the image without determining where the application writes logs |
Build a reproducible escalation package
Escalation is faster when another engineer can reproduce the same layer failure without guessing your environment. Collect:
- The exact command, Compose invocation, or deployment action.
- Image name and immutable digest when available, plus the tag used.
- Docker Engine, Docker Desktop, operating-system, WSL2, and kernel versions as applicable.
- Complete
docker infooutput, with secrets and sensitive identifiers removed. - Container status, exit code, restart policy, command, and relevant
docker logsoutput. - Daemon or Desktop VM logs covering the failure time.
- Compose configuration, Dockerfile, build arguments, network declarations, and mount definitions, redacted for credentials.
- A minimal reproduction that removes unrelated services and data.
Use Docker’s official support or issue channels when the daemon remains unresponsive, the problem reproduces on a supported clean setup, or the evidence points to a platform defect. Enterprise subscription issues belong with the support path associated with that subscription. Do not upload credentials, private registry tokens, or unredacted environment files.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsQuick Recap
A compact runbook for the next incident
- Run
docker info. If it fails, stop and inspect the daemon, Desktop VM, or client context. - Classify the failure as build, creation, startup, runtime, network, storage, permissions, or host integration.
- For a stopped container, run
docker ps -aand inspect its exit code, command, restart policy, mounts, and logging driver. - For an empty log, determine whether the process writes to STDOUT/STDERR, a file, or an external logging destination.
- For a port error, identify the host PID or container owning the port before stopping anything.
- For a connection failure, verify network membership, service-name DNS, destination port, and bind address independently.
- For a mount error, verify the host path, Desktop sharing, mount type, masking, and UID/GID.
- On Windows, check LF line endings and Desktop integration before changing the application.
- In rootless mode, account for the unprivileged-port threshold and network-driver behavior.
- Make one reversible change, rerun the smallest confirming check, and record the result.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




