Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrong Port Mappings Reported By Some Docker Commands Under Certain Circumstances #7609

Open
mkdewidar opened this issue Mar 5, 2025 · 2 comments

Comments

@mkdewidar
Copy link

Description

We're seeing an issue where under certain conditions, port mappings reported by the docker ps commands are different (and wrong) compared to those by the docker inspect command.

The problem occurs when a container with "specific" port mappings is started after containers with "unspecified" port mappings. This causes all other containers in the network with "unspecified" mappings to show the wrong port mappings. This effect reverses once the newly started container is stopped.

This behaviour is new as of Docker Desktop For Mac v4.38.0. Previous versions did not have this issue.

Reproduce

docker run --rm -d -p 9999 alpine nc -l localhost 9999 (will refer to this container as container A)

docker ps, note the port mapping.

docker run --rm -d -p 9999:9999 alpine nc -l localhost 9999 (will refer to this container as container B)

docker ps, note the port mapping for the container A is now different and wrong.
docker inspect <container B>, note the port mapping in here is different from what docker ps reported, and is the "correct" port mapping.

docker stop <container A>

docker ps, note that the port mapping for container A has now gone back to the "correct" value.

Expected behavior

docker ps should display the correct port mappings regardless of what containers are started in the same network.

docker version

Client:
 Version:           27.5.1
 API version:       1.47
 Go version:        go1.22.11
 Git commit:        9f9e405
 Built:             Wed Jan 22 13:37:19 2025
 OS/Arch:           darwin/arm64
 Context:           desktop-linux

Server: Docker Desktop 4.38.0 (181591)
 Engine:
  Version:          27.5.1
  API version:      1.47 (minimum version 1.24)
  Go version:       go1.22.11
  Git commit:       4c9b3b0
  Built:            Wed Jan 22 13:41:25 2025
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.7.25
  GitCommit:        bcc810d6b9066471b0b6fa75f557a15a1cbf31bb
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e946
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker info

Client:
 Version:    27.5.1
 Context:    desktop-linux
 Debug Mode: false
 Plugins:
  ai: Ask Gordon - Docker Agent (Docker Inc.)
    Version:  v0.7.3
    Path:     /Users/mohamed.dewidar/.docker/cli-plugins/docker-ai
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.20.1-desktop.2
    Path:     /Users/mohamed.dewidar/.docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.32.4-desktop.1
    Path:     /Users/mohamed.dewidar/.docker/cli-plugins/docker-compose
  debug: Get a shell into any image or container (Docker Inc.)
    Version:  0.0.38
    Path:     /Users/mohamed.dewidar/.docker/cli-plugins/docker-debug
  desktop: Docker Desktop commands (Beta) (Docker Inc.)
    Version:  v0.1.4
    Path:     /Users/mohamed.dewidar/.docker/cli-plugins/docker-desktop
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.2
    Path:     /Users/mohamed.dewidar/.docker/cli-plugins/docker-dev
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.27
    Path:     /Users/mohamed.dewidar/.docker/cli-plugins/docker-extension
  feedback: Provide feedback, right in your terminal! (Docker Inc.)
    Version:  v1.0.5
    Path:     /Users/mohamed.dewidar/.docker/cli-plugins/docker-feedback
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v1.4.0
    Path:     /Users/mohamed.dewidar/.docker/cli-plugins/docker-init
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     /Users/mohamed.dewidar/.docker/cli-plugins/docker-sbom
  scout: Docker Scout (Docker Inc.)
    Version:  v1.16.1
    Path:     /Users/mohamed.dewidar/.docker/cli-plugins/docker-scout

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 119
 Server Version: 27.5.1
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 CDI spec directories:
  /etc/cdi
  /var/run/cdi
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb
 runc version: v1.1.12-0-g51d5e946
 init version: de40ad0
 Security Options:
  seccomp
   Profile: unconfined
  cgroupns
 Kernel Version: 6.12.5-linuxkit
 Operating System: Docker Desktop
 OSType: linux
 Architecture: aarch64
 CPUs: 12
 Total Memory: 7.653GiB
 Name: docker-desktop
 ID: 26820370-d4fc-4530-8627-34155917154a
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Labels:
  com.docker.desktop.address=unix:///Users/mohamed.dewidar/Library/Containers/com.docker.docker/Data/docker-cli.sock
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: daemon is not using the default seccomp profile

Diagnostics ID

3514E633-11F1-416B-9694-68A0AD7426A8/20250305230410

Additional Info

No response

@mkdewidar mkdewidar changed the title Wrong Port Mappings Reported By Some Docker Commands Wrong Port Mappings Reported By Some Docker Under Certain Circumstances Mar 5, 2025
@mkdewidar mkdewidar changed the title Wrong Port Mappings Reported By Some Docker Under Certain Circumstances Wrong Port Mappings Reported By Some Docker Commands Under Certain Circumstances Mar 5, 2025
@akerouanton
Copy link
Member

Thanks for reporting. I can confirm this bug happens with v4.38, but I can't reproduce it with v4.39.

Could you try upgrading please? Let us know if this fixes the issue.

@mkdewidar
Copy link
Author

It does seem like this has been fixed in v4.39 thanks.

Out of personal curiosity, any ideas what was going on? was there some bug in the version of the engine that was in use?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants