Using Docker Instances on Windows 11 Not Working in Main UI due to issue it seems polling/reading docker container names

OS Name/Version: Windows 11 25H2

Product Name/Version: AMP Advanced

Problem Description:

OK - So I posted some months back about docker not working right on windows, even after Docker rolled back the behavior change that made it stop working.

That is still the case for docker on windows - the primary AMP management panel will not work with more than a single instance with docker on windows.

There is something wrong under the hood, probably because of changes to how docker works on windows, where the AMP instance can start up the application instances just fine, but as soon as they start, the AMP instance is unable to identify any available running docker instances.

However, the docker instances for the applications ARE running, and you can connect directly to those instances to get their own direct management console for AMP, and manage them from there. But the main controller is unable to actually contact those docker instances anytime more than one application is started in docker.

I previously noted based on what I saw in the logs and docker calls that there seemed to be an issue with the calls where AMP tries to get the listing of actively running docker containers. It seems it no longer is able to parse what returns from the docker instance.

Anyways, I have had other issues at play, but finally was able to tackle some more testing on this subject. I set up a standalone VM with a brand new clean install of windows 11 running WSL2 + Docker, and the latest version of amp. I set up one application instance for minecraft, everything worked fine. As soon as I set up and STARTED a second instance, in this case for satisfactory, but i tested and it didn’t matter what the application was, it failed.

The way that it failed was that the instance started, both instances are running in docker, both control panels can be accessed directly. But the main controller ui thinks both instances are offline, refuses to let you manage them, and tries to start them up every time you click (and then fails, because they are already running obviously).

I have tested this multiple times on multiple clean installs now in a squeaky clean VM.

At this point, there is no real explanation other than that AMP communication with docker is broken, and was never fixed even though docker supposedly reverted the previous user access list issue. My suspicion is there is some other way in which the docker commands being ran by the API are failing to be properly interpreted by the amp server.

the logs from amp give no actual error. it behaves as if the API response returns no results.

here is a short screen recording of the entire sequence showing what is visible posted on the cubecoders discord: Discord

the only error occurs when you try to start one of the “ghost” instances that it thinks are dead when they are not - in that case docker just returns it an error telling it the container already exists - which is true.
related discussion thread that was closed back when i last tackled this: Unable to start or create instances due to Docker error code 125. (v2.6)

it was believed the issue was fixed when docker then rolled back a related change, and while that did fix one issue, this other issue then cropped up

When I dug into monitoring how the c# calls were trying to interpret the return from the docker ps command, i noticed it uses the current local system newline/linebreak character as part of that interpretation, which appeared to change at some point in AMP’s history. And I do think that could be why this is only occurring on windows. if docker is actually only returning a newline on windows now, and not returning a newline + carriage return, and the carriage return is missing, but AMP is expecting it, it would fail to parse the names being output from docker PS correctly.

Steps to reproduce:

  • Fresh Windows 11 Install (Just to Isolate Variables) with Hyper-V enabled, WSLv2 Enabled, and WSL Debian Installed
  • Install Docker Destktop 4.40 or later (4,56 for instance)
  • Install AMP, configure per docker instructions for windows as indicated in AMP documentation (setup user group, etc).
  • Install/setup multiple instances eg, multiple separate minecraft instances, a minecraft and a different game - game doesnt matter, just have multiple, all set to use docker.
  • Start a single instance - observe the instance behave normally, click the button to manage the instance in another window. Keep that window open.
  • Stop the instance. Start a second different instance. Obverse normal behavior. Click the button to manage in a different window. Keep that window open as well.
  • Restart the first instance that you stopped. Observe the main AMP UI showing an error, and showing both instances offline, while both instances show running as expected in docker.
  • Refresh the two instances in their separate managed windows and see how they are working properly and can be managed directly, but not through the main UI.
  • Stop just one of the two instances. Observe the main UI return to normal behavior, allowing you to manage the single running instance.

Actions taken to resolve so far:

See above details, completely fresh clean installs.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.