You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if I create a container with two network interfaces (one bridged and the other one not connected to the host), the behaviour is different depending on the order of the connected interfaces.
The port parameter works only if the bridged interface is the first one of the container (eth0), if the bridged interface is second one, it does not work.
In the example I will use the katharanp network plugin to generate a network not connected to the host in any way.
The plugin needs to specify the architecture, in the example I used the arm64 architecture but feel free to change it to amd64 according to your architecture.
In this situation, if a docker ps command is executed, the output looks like this one. I also attached a docker inspect output of the container. inspect_before_l2.txt
As it is possible to notice, the docker ps output does not show the configured port (as it should).
Now, I will attach a second interface to the default bridged network with this command:
docker network connect bridge test
The docker ps output now correctly reports the configured port, but the port forwarding is still not working from the host giving me a connection refused error. inspect_after_l2.txt
If the two networks are connected in the opposite order, everything works correctly :)
docker run -ti --rm --net bridge -p 8080:80 --name=test httpd
docker network connect l2_net test
Expected behavior
The port forwarding should work independently from the order of the connected network interfaces as long as there is a bridged interface connected to the container.
Description
Hi,
if I create a container with two network interfaces (one bridged and the other one not connected to the host), the behaviour is different depending on the order of the connected interfaces.
The port parameter works only if the bridged interface is the first one of the container (
eth0
), if the bridged interface is second one, it does not work.This issue was first opened here
Reproduce
In the example I will use the
katharanp
network plugin to generate a network not connected to the host in any way.The plugin needs to specify the architecture, in the example I used the
arm64
architecture but feel free to change it toamd64
according to your architecture.docker plugin install lollo93/katharanp:arm64 docker plugin enable lollo93/katharanp:arm64 docker network create --ipam-driver=null --driver=lollo93/katharanp:arm64 l2_net docker run -ti --rm --net l2_net -p 8080:80 --name=test httpd
In this situation, if a
docker ps
command is executed, the output looks like this one. I also attached adocker inspect
output of the container.inspect_before_l2.txt
As it is possible to notice, the
docker ps
output does not show the configured port (as it should).Now, I will attach a second interface to the default bridged network with this command:
docker network connect bridge test
The
docker ps
output now correctly reports the configured port, but the port forwarding is still not working from the host giving me aconnection refused
error.inspect_after_l2.txt
If the two networks are connected in the opposite order, everything works correctly :)
docker run -ti --rm --net bridge -p 8080:80 --name=test httpd docker network connect l2_net test
Expected behavior
The port forwarding should work independently from the order of the connected network interfaces as long as there is a bridged interface connected to the container.
docker version
Client: Cloud integration: v1.0.35-desktop+001 Version: 24.0.5 API version: 1.43 Go version: go1.20.6 Git commit: ced0996 Built: Fri Jul 21 20:32:30 2023 OS/Arch: darwin/arm64 Context: desktop-linux Server: Docker Desktop 4.22.1 (118664) Engine: Version: 24.0.5 API version: 1.43 (minimum version 1.12) Go version: go1.20.6 Git commit: a61e2b4 Built: Fri Jul 21 20:35:38 2023 OS/Arch: linux/arm64 Experimental: false containerd: Version: 1.6.21 GitCommit: 3dce8eb055cbb6872793272b4f20ed16117344f8 runc: Version: 1.1.7 GitCommit: v1.1.7-0-g860f061 docker-init: Version: 0.19.0 GitCommit: de40ad0
docker info
Diagnostics ID
71989770-6C8B-4018-931E-288AB5CBE49D/20230913170736
Additional Info
There is no different behaviour on Windows and the bug is present in all the architectures (arm64, amd64).
The text was updated successfully, but these errors were encountered: