🚀 Executive Summary
TL;DR: The Synology Docker GUI often displays a “No such container” error because its internal state is out of sync with the underlying Docker daemon. This guide provides three tiered solutions, starting with restarting the Docker package, then using SSH to `docker system prune -f`, and finally, a complete reinstallation of the Docker package as a last resort.
🎯 Key Takeaways
- The Synology Docker GUI acts as a wrapper, and its “state” can desynchronize from the actual Docker daemon, leading to phantom container errors.
- Restarting the Docker package via the Synology Package Center is often the quickest and most effective first step to force the GUI to re-initialize its state.
- For persistent issues, using `docker system prune -f` via SSH directly interacts with the Docker daemon to clean up orphaned resources, which can resolve UI sync problems.
Tired of the Synology Docker GUI’s phantom “No such container” error? Here’s a senior engineer’s breakdown of why the UI lies to you and the three real-world fixes to get your containers back in line.
Debugging the Synology Docker “No Such Container” Error: A Senior Engineer’s Guide
It was 2 AM. A PagerDuty alert for my home lab jolted me awake. The Grafana dashboard monitoring my network was down. The culprit? The `home-prometheus` container running on my Synology NAS had stopped. “No problem,” I thought, “I’ll just restart it from the UI.” I logged into the DSM, navigated to the Docker app, selected the container, and hit ‘Start’. The error popped up, mocking me: “Failed to start container. Container does not exist.” Except… it was right there in the list. My screen was telling me two contradictory things at once, and it’s moments like these that separate a good Saturday morning from a caffeine-fueled troubleshooting nightmare.
So, What’s Actually Going On? The State is a Lie.
Before we jump into fixes, let’s talk about the why. This isn’t just a random bug; it’s a classic state management problem. The Synology Docker application is essentially a fancy web GUI—a wrapper—that sits on top of the real Docker daemon running underneath. The error occurs when the GUI’s “state”—its understanding of what containers exist—gets out of sync with the Docker daemon’s actual state, which is the source of truth.
This can happen for a few reasons:
- An unclean shutdown of the NAS or the Docker package.
- A container that was forcefully removed via the command line, but the UI never got the memo.
- A corrupted configuration file that the UI relies on for its container list.
The UI shows you a ghost. It thinks the container is there, but when it asks the Docker daemon to perform an action on it, the daemon correctly reports, “Sorry, I have no idea what you’re talking about.”
Fixing the Phantom: From Gentle Nudge to Full Reboot
In my years managing everything from tiny home labs to sprawling cloud infrastructure at TechResolve, I’ve learned to approach problems with a tiered strategy. Let’s do the same here.
Solution 1: The Quick Fix (The “Turn It Off and On Again”)
This is the first thing you should always try. It’s low-effort and surprisingly effective. We’re not restarting the whole NAS, just the Docker package itself. This forces the GUI application to shut down and re-initialize its state by querying the Docker daemon fresh.
- Log into your Synology DSM.
- Open the Package Center.
- Find the “Docker” package and click on it.
- From the dropdown menu, select “Stop”. Wait about 30 seconds for all processes to terminate cleanly.
- Once it’s stopped, click the dropdown again and select “Run”.
Nine times out of ten, this is all you need. The UI will reload, the phantom container will be gone, and you can get back to what you were doing. If it’s still there, it’s time to get our hands a little dirtier.
Solution 2: The Permanent Fix (The SSH Dive)
When the GUI fails, we go directly to the source: the command line. This method bypasses the buggy UI entirely and lets you interact with the Docker daemon, just like you would on any production Linux server like `prod-db-01`.
A Word of Warning: You’ll be operating as the root user here. Be careful. Deleting the wrong thing can have consequences. As we say at TechResolve, “measure twice, `rm -rf` once.”
First, enable SSH on your Synology if you haven’t already (Control Panel > Terminal & SNMP).
Next, SSH into your NAS and get root privileges:
# ssh your_admin_user@your_nas_ip_address
# sudo -i
(Enter your admin password again)
Now, let’s see what Docker actually sees:
# docker ps -a
This command lists all containers, running or stopped. Compare this list to what you see in the UI. You’ll likely find the phantom container is missing from this list. The problem isn’t the container; it’s the UI’s reference to it.
Often, the state issue is caused by orphaned Docker resources. The safest command to clean things up without deleting important data (like your volumes) is `prune`:
# docker system prune -f
This command will remove all stopped containers, all dangling images, and all unused networks. It’s a fantastic housekeeping command that often resolves the UI sync issue by cleaning up the cruft the GUI might be choking on. After running this, go back and try Solution 1 again. The combination of a command-line cleanup and a package restart is a rock-solid fix.
Solution 3: The ‘Nuclear’ Option (Reinstalling the Package)
I call this the “scorched-earth” approach. You should only do this if the first two solutions fail and the UI is still completely unusable. This involves completely uninstalling and reinstalling the Docker package.
CRITICAL: Uninstalling the Docker package can, depending on your choices, remove your container configurations and images. Your Docker volumes, where your persistent data lives, are typically stored in the `/docker` shared folder and should be safe. But it’s always wise to back up any critical container data before proceeding.
- In the Package Center, find the Docker package.
- Stop the package first.
- From the dropdown, choose “Uninstall”. The system may ask if you want to remove related data. Read this carefully. For a basic reinstall, you might choose to keep it. If you suspect deep corruption, you may want to delete everything and start fresh.
- Once uninstalled, restart your Synology NAS for good measure.
- After the reboot, go back to the Package Center and install the Docker package again.
You’ll have to re-pull your images and recreate your containers, but this guarantees that the package starts from a completely clean slate, free of any state corruption.
Hopefully, this saves you from your own 2 AM troubleshooting session. The Synology GUI is convenient, but knowing how to peek under the hood is what turns a frustrating problem into a quick fix.
🤖 Frequently Asked Questions
âť“ Why does my Synology Docker GUI say ‘No such container’ when it’s clearly listed?
The Synology Docker GUI’s displayed state is out of sync with the underlying Docker daemon’s actual state, often due to unclean shutdowns or command-line operations not reflected in the UI’s cache.
âť“ What are the main differences between fixing this error via the Synology GUI versus direct SSH commands?
The Synology GUI offers a convenient, low-effort restart of the Docker package, which often resolves minor state desynchronization. Direct SSH commands, like `docker system prune -f`, bypass the GUI entirely, allowing for a deeper cleanup of Docker resources directly at the daemon level, which is more robust for persistent issues.
âť“ What’s a critical consideration when using the ‘Nuclear’ option (reinstalling Docker)?
When uninstalling the Docker package, carefully read prompts regarding data removal. While Docker volumes in `/docker` are typically safe, container configurations and images might be deleted, necessitating a backup of critical container data before proceeding.
Leave a Reply