Skip to content

AMP Instance Manager Prevents Dual‑Stack Port Mapping by Always Applying ApplicationIP in Docker Containers in Bridge Mode #1402

@dreamwraith

Description

@dreamwraith

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions