@@ -22,12 +22,14 @@ import (
2222 "github.com/moby/moby/v2/daemon/libnetwork/drivers/bridge"
2323 "github.com/moby/moby/v2/daemon/libnetwork/iptables"
2424 "github.com/moby/moby/v2/daemon/libnetwork/netlabel"
25+ "github.com/moby/moby/v2/integration/internal/build"
2526 "github.com/moby/moby/v2/integration/internal/container"
2627 "github.com/moby/moby/v2/integration/internal/network"
2728 "github.com/moby/moby/v2/integration/internal/testutils/networking"
2829 n "github.com/moby/moby/v2/integration/network"
2930 "github.com/moby/moby/v2/internal/testutil"
3031 "github.com/moby/moby/v2/internal/testutil/daemon"
32+ "github.com/moby/moby/v2/internal/testutil/fakecontext"
3133 "gotest.tools/v3/assert"
3234 is "gotest.tools/v3/assert/cmp"
3335 "gotest.tools/v3/icmd"
@@ -2139,3 +2141,18 @@ func TestGatewayErrorOnNetDisconnect(t *testing.T) {
21392141 assert .Check (t , is .Contains (ctrInsp .NetworkSettings .Networks , "n1" ))
21402142 assert .Check (t , is .Contains (ctrInsp .NetworkSettings .Networks , "n2" ))
21412143}
2144+
2145+ // Regression test for https://github.com/moby/moby/issues/51620
2146+ func TestPublishAllWithNilPortBindings (t * testing.T ) {
2147+ ctx := setupTest (t )
2148+ c := testEnv .APIClient ()
2149+
2150+ imgWithExpose := container .WithImage (build .Do (ctx , t , c ,
2151+ fakecontext .New (t , "" , fakecontext .WithDockerfile ("FROM busybox\n EXPOSE 80/tcp\n " ))))
2152+
2153+ _ = container .Run (ctx , t , c ,
2154+ container .WithAutoRemove ,
2155+ container .WithPublishAllPorts (true ),
2156+ imgWithExpose ,
2157+ )
2158+ }
0 commit comments