-
-
Notifications
You must be signed in to change notification settings - Fork 41
Description
Operating System
Windows 11 25H2, Debian 13 (Latest Updates)
AMP Version and Build Date
2.6.5
AMP Release Stream
Mainline
I confirm that
- I have searched for an existing bug report for this issue.
- I am using the latest available version of AMP.
- my operating system is up-to-date.
Intended Action
I am trying to run instances within docker containers in bridge mode (Host Mode Networking Disabled) and have the ports not map to specific IP addresses/protocols when using dual stack IPv4/IPv6.
Common knowledge is that when utilizing dual stack networking on all systems, binding items to the IPv6 wildcard '::' will also map ports for the IPv4 ports as well.
However, under docker engine in both windows (with wslv2 integration) and under debian, utilizing :: for IP address wildcard ONLY maps for IPv6 and disables IPv4. According to docker documentation, the IP wildcard should be excluded when using dual stack networking (see here: https://docs.docker.com/engine/network/port-publishing/ )
In docker bridge mode, those ports are mapped via the docker run command -p parameters in the StartDockerInstance method of the LocalInstanceManager class.
It looks as though that when an application is marked as Multi-IP Aware , it always maps the ApplicationIP to these port mappings. There is currently no way to override this behavior, and "blank" is not a valid option for IP address mapping.
The net result is that it is impossible to run dual stack via docker containers on any platform utilizing Bridge Mode Networking - there is a sort of workaround in that you can edit the instances.json directly and modify the ApplicationIP value to be an empty string, which then results in that empty string being passed into the docker run command, sidestepping the issue. But if you need the wildcard for your particular application, this breaks that.
Suggested/potential fix: add a toggle setting to disable appending the ApplicationIP to the port, consume the value of this flag in StartDockerInstance, and skip appending the IP when the flag is set to disabled.
Expected Behaviour
Docker containers should be able to run dual stack networking in bridge mode.
Actual Behaviour
Docker containers cannot utilize dual stack networking in bridge mode.
Reproduction
Set up docker instances in AMP with host networking mode disabled, and IP wildcards selected, and attempt to run them. If :: is utilized, only IPv6 will work.