Skip to content

dockerClient.containers.create(..., ports={...: None}) does not work in docker client 3.2.0 and upwards #2792

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

Open
bentheiii opened this issue Mar 24, 2021 · 8 comments · May be fixed by #2869

Comments

@bentheiii
Copy link

SDK version: 4.4.4
OS: Windows, also reproduced in WSL, and mac
python version: 3.8
reproduced in the following docker versions:

  • client: 3.2.2, engine: 20.10.5
  • client: 3.2.1, engine: 20.10.5
  • client: 3.2.0, engine: 20.10.2

The following code snippet:

client = DockerClient.from_env()
client.images.pull("redis:latest", platform=None)
container = client.containers.create("redis:latest", detach=True, ports={11234: None})
try:
    container.start()
    container.reload()
    portmap = container.attrs["NetworkSettings"]["Ports"]
    print(portmap['11234/tcp'])
finally:
    container.kill('SIGKILL')

prints an empty list [] on docker client versions 3.20 onwards, and a list of host ports/ips for earlier versions.

@feliperuhland
Copy link
Contributor

feliperuhland commented Mar 25, 2021

Hi @bentheiii

First of all, thank you for the code snippet.

The containers documentation explain how ports should be used:

The keys of the dictionary are the ports to bind inside the container, either as an integer or a string in the form port/protocol, where the protocol is either tcp, udp, or sctp.

So you have to inform the protocol like {"11234/tcp": None}.

I could not reproduce the empty list on Linux, so I suggest you print the portmap variable to be able to see the entire dictionary.

Have a nice day :)

PS: I'm preparing a windows machine to try to reproduce the problem.

@bentheiii
Copy link
Author

Hi and thanks for the quick reply, I can reproduce the problem on multiple machines (windows and mac)

client = DockerClient.from_env()
client.images.pull("redis:latest", platform=None)
container = client.containers.create("redis:latest", detach=True, ports={11234: None})
try:
    container.start()
    container.reload()
    portmap = container.attrs["NetworkSettings"]["Ports"]
    print(portmap)
finally:
    container.kill('SIGKILL')

portmap={'11234/tcp': [], '6379/tcp': None}

> docker version
Client: Docker Engine - Community
 Cloud integration: 1.0.9
 Version:           20.10.5
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        55c4c88
 Built:             Tue Mar  2 20:14:53 2021
 OS/Arch:           windows/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.5
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       363e9a8
  Built:            Tue Mar  2 20:15:47 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.3
  GitCommit:        269548fa27e0089a8b8278fc4fc781d7f65a939b
 runc:
  Version:          1.0.0-rc92
  GitCommit:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

@feliperuhland
Copy link
Contributor

Hi @bentheiii

Sorry to ask you again, but the attempt to recover my windows machine was a total failure.

Could you add a print right before reloading the container to be sure that is happening since the container creation?

client = DockerClient.from_env()
client.images.pull("redis:latest", platform=None)
container = client.containers.create("redis:latest", detach=True, ports={11234: None})
try:
    container.start()
+   portmap = container.attrs["NetworkSettings"]["Ports"]
+   print(portmap)
    container.reload()
    portmap = container.attrs["NetworkSettings"]["Ports"]
    print(portmap)
finally:
    container.kill('SIGKILL')

In the meanwhile, I will figure out how to debug that.

Thanks and have a nice day :)

@bentheiii
Copy link
Author

bentheiii commented Mar 30, 2021

Hello, I have run the following code:

client = DockerClient.from_env()
client.images.pull("redis:latest", platform=None)
container = client.containers.create("redis:latest", detach=True, ports={11234: None})
try:
    print('A', container.attrs)
    container.start()
    print('B', container.attrs)
    container.reload()
    print('C', container.attrs)
finally:
    container.kill('SIGKILL')

this is the result:

A {'Id': '2340b1e2c1b362a59e0e81fd4f980a2b98e9f32d165068ab34194ea81b4ba8b8', 'Created': '2021-03-30T11:59:22.8020237Z', 'Path': 'docker-entrypoint.sh', 'Args': ['redis-server'], 'State': {'Status': 'created', 'Running': False, 'Paused': False, 'Restarting': False, 'OOMKilled': False, 'Dead': False, 'Pid': 0, 'ExitCode': 0, 'Error': '', 'StartedAt': '0001-01-01T00:00:00Z', 'FinishedAt': '0001-01-01T00:00:00Z'}, 'Image': 'sha256:b29265c0674f784dbed5fee6b5dcb5e519f91bb487843da27b7d556a49d6a3c4', 'ResolvConfPath': '', 'HostnamePath': '', 'HostsPath': '', 'LogPath': '', 'Name': '/infallible_black', 'RestartCount': 0, 'Driver': 'overlay2', 'Platform': 'linux', 'MountLabel': '', 'ProcessLabel': '', 'AppArmorProfile': '', 'ExecIDs': None, 'HostConfig': {'Binds': None, 'ContainerIDFile': '', 'LogConfig': {'Type': 'json-file', 'Config': {}}, 'NetworkMode': 'default', 'PortBindings': {'11234/tcp': [{'HostIp': '0.0.0.0', 'HostPort': '0'}]}, 'RestartPolicy': {'Name': '', 'MaximumRetryCount': 0}, 'AutoRemove': False, 'VolumeDriver': '', 'VolumesFrom': None, 'CapAdd': None, 'CapDrop': None, 'CgroupnsMode': 'host', 'Dns': None, 'DnsOptions': None, 'DnsSearch': None, 'ExtraHosts': None, 'GroupAdd': None, 'IpcMode': 'private', 'Cgroup': '', 'Links': None, 'OomScoreAdj': 0, 'PidMode': '', 'Privileged': False, 'PublishAllPorts': False, 'ReadonlyRootfs': False, 'SecurityOpt': None, 'UTSMode': '', 'UsernsMode': '', 'ShmSize': 67108864, 'Runtime': 'runc', 'ConsoleSize': [0, 0], 'Isolation': '', 'CpuShares': 0, 'Memory': 0, 'NanoCpus': 0, 'CgroupParent': '', 'BlkioWeight': 0, 'BlkioWeightDevice': None, 'BlkioDeviceReadBps': None, 'BlkioDeviceWriteBps': None, 'BlkioDeviceReadIOps': None, 'BlkioDeviceWriteIOps': None, 'CpuPeriod': 0, 'CpuQuota': 0, 'CpuRealtimePeriod': 0, 'CpuRealtimeRuntime': 0, 'CpusetCpus': '', 'CpusetMems': '', 'Devices': None, 'DeviceCgroupRules': None, 'DeviceRequests': None, 'KernelMemory': 0, 'KernelMemoryTCP': 0, 'MemoryReservation': 0, 'MemorySwap': 0, 'MemorySwappiness': None, 'OomKillDisable': False, 'PidsLimit': None, 'Ulimits': None, 'CpuCount': 0, 'CpuPercent': 0, 'IOMaximumIOps': 0, 'IOMaximumBandwidth': 0, 'MaskedPaths': ['/proc/asound', '/proc/acpi', '/proc/kcore', '/proc/keys', '/proc/latency_stats', '/proc/timer_list', '/proc/timer_stats', '/proc/sched_debug', '/proc/scsi', '/sys/firmware'], 'ReadonlyPaths': ['/proc/bus', '/proc/fs', '/proc/irq', '/proc/sys', '/proc/sysrq-trigger']}, 'GraphDriver': {'Data': {'LowerDir': '/var/lib/docker/overlay2/c7016b8c2b30b2d2ba84a6b580511e88ad68f196fe0a101409c11b728fd7134c-init/diff:/var/lib/docker/overlay2/2cca4d84077da001061973a4864698ac6f2587bb018b6dfe260fdb190cfbc0cc/diff:/var/lib/docker/overlay2/b5f7877e22e44d2dcc72af9e176521365ca8a069f6be45bbfa4d959fb141f0d7/diff:/var/lib/docker/overlay2/4edcbac4f7584f50deb67c52fe7e2881fb2853176a0b3d4c1ed55227f542a065/diff:/var/lib/docker/overlay2/9ca7e53e7ca7493169d415675d3c7b08c567628836c27db25ac1cff10172c98b/diff:/var/lib/docker/overlay2/13c13660f4788571cdb20cc6753c90c9c7940cfc75bb0131e0d0c90bbd9c153d/diff:/var/lib/docker/overlay2/bcf6ca78405c42c368ee055ca5dd41940605b8fb48ca0b3521c1ef582f3384b3/diff', 'MergedDir': '/var/lib/docker/overlay2/c7016b8c2b30b2d2ba84a6b580511e88ad68f196fe0a101409c11b728fd7134c/merged', 'UpperDir': '/var/lib/docker/overlay2/c7016b8c2b30b2d2ba84a6b580511e88ad68f196fe0a101409c11b728fd7134c/diff', 'WorkDir': '/var/lib/docker/overlay2/c7016b8c2b30b2d2ba84a6b580511e88ad68f196fe0a101409c11b728fd7134c/work'}, 'Name': 'overlay2'}, 'Mounts': [{'Type': 'volume', 'Name': 'd3d2133615e5a4f90f93a25af4bba745dba0df07b2367446f52e0b269a480c16', 'Source': '/var/lib/docker/volumes/d3d2133615e5a4f90f93a25af4bba745dba0df07b2367446f52e0b269a480c16/_data', 'Destination': '/data', 'Driver': 'local', 'Mode': '', 'RW': True, 'Propagation': ''}], 'Config': {'Hostname': '2340b1e2c1b3', 'Domainname': '', 'User': '', 'AttachStdin': False, 'AttachStdout': False, 'AttachStderr': False, 'ExposedPorts': {'11234/tcp': {}, '6379/tcp': {}}, 'Tty': False, 'OpenStdin': False, 'StdinOnce': False, 'Env': ['PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'GOSU_VERSION=1.12', 'REDIS_VERSION=6.2.1', 'REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-6.2.1.tar.gz', 'REDIS_DOWNLOAD_SHA=cd222505012cce20b25682fca931ec93bd21ae92cb4abfe742cf7b76aa907520'], 'Cmd': ['redis-server'], 'Image': 'redis:latest', 'Volumes': {'/data': {}}, 'WorkingDir': '/data', 'Entrypoint': ['docker-entrypoint.sh'], 'OnBuild': None, 'Labels': {}}, 'NetworkSettings': {'Bridge': '', 'SandboxID': '', 'HairpinMode': False, 'LinkLocalIPv6Address': '', 'LinkLocalIPv6PrefixLen': 0, 'Ports': {}, 'SandboxKey': '', 'SecondaryIPAddresses': None, 'SecondaryIPv6Addresses': None, 'EndpointID': '', 'Gateway': '', 'GlobalIPv6Address': '', 'GlobalIPv6PrefixLen': 0, 'IPAddress': '', 'IPPrefixLen': 0, 'IPv6Gateway': '', 'MacAddress': '', 'Networks': {'bridge': {'IPAMConfig': None, 'Links': None, 'Aliases': None, 'NetworkID': '', 'EndpointID': '', 'Gateway': '', 'IPAddress': '', 'IPPrefixLen': 0, 'IPv6Gateway': '', 'GlobalIPv6Address': '', 'GlobalIPv6PrefixLen': 0, 'MacAddress': '', 'DriverOpts': None}}}}
B {'Id': '2340b1e2c1b362a59e0e81fd4f980a2b98e9f32d165068ab34194ea81b4ba8b8', 'Created': '2021-03-30T11:59:22.8020237Z', 'Path': 'docker-entrypoint.sh', 'Args': ['redis-server'], 'State': {'Status': 'created', 'Running': False, 'Paused': False, 'Restarting': False, 'OOMKilled': False, 'Dead': False, 'Pid': 0, 'ExitCode': 0, 'Error': '', 'StartedAt': '0001-01-01T00:00:00Z', 'FinishedAt': '0001-01-01T00:00:00Z'}, 'Image': 'sha256:b29265c0674f784dbed5fee6b5dcb5e519f91bb487843da27b7d556a49d6a3c4', 'ResolvConfPath': '', 'HostnamePath': '', 'HostsPath': '', 'LogPath': '', 'Name': '/infallible_black', 'RestartCount': 0, 'Driver': 'overlay2', 'Platform': 'linux', 'MountLabel': '', 'ProcessLabel': '', 'AppArmorProfile': '', 'ExecIDs': None, 'HostConfig': {'Binds': None, 'ContainerIDFile': '', 'LogConfig': {'Type': 'json-file', 'Config': {}}, 'NetworkMode': 'default', 'PortBindings': {'11234/tcp': [{'HostIp': '0.0.0.0', 'HostPort': '0'}]}, 'RestartPolicy': {'Name': '', 'MaximumRetryCount': 0}, 'AutoRemove': False, 'VolumeDriver': '', 'VolumesFrom': None, 'CapAdd': None, 'CapDrop': None, 'CgroupnsMode': 'host', 'Dns': None, 'DnsOptions': None, 'DnsSearch': None, 'ExtraHosts': None, 'GroupAdd': None, 'IpcMode': 'private', 'Cgroup': '', 'Links': None, 'OomScoreAdj': 0, 'PidMode': '', 'Privileged': False, 'PublishAllPorts': False, 'ReadonlyRootfs': False, 'SecurityOpt': None, 'UTSMode': '', 'UsernsMode': '', 'ShmSize': 67108864, 'Runtime': 'runc', 'ConsoleSize': [0, 0], 'Isolation': '', 'CpuShares': 0, 'Memory': 0, 'NanoCpus': 0, 'CgroupParent': '', 'BlkioWeight': 0, 'BlkioWeightDevice': None, 'BlkioDeviceReadBps': None, 'BlkioDeviceWriteBps': None, 'BlkioDeviceReadIOps': None, 'BlkioDeviceWriteIOps': None, 'CpuPeriod': 0, 'CpuQuota': 0, 'CpuRealtimePeriod': 0, 'CpuRealtimeRuntime': 0, 'CpusetCpus': '', 'CpusetMems': '', 'Devices': None, 'DeviceCgroupRules': None, 'DeviceRequests': None, 'KernelMemory': 0, 'KernelMemoryTCP': 0, 'MemoryReservation': 0, 'MemorySwap': 0, 'MemorySwappiness': None, 'OomKillDisable': False, 'PidsLimit': None, 'Ulimits': None, 'CpuCount': 0, 'CpuPercent': 0, 'IOMaximumIOps': 0, 'IOMaximumBandwidth': 0, 'MaskedPaths': ['/proc/asound', '/proc/acpi', '/proc/kcore', '/proc/keys', '/proc/latency_stats', '/proc/timer_list', '/proc/timer_stats', '/proc/sched_debug', '/proc/scsi', '/sys/firmware'], 'ReadonlyPaths': ['/proc/bus', '/proc/fs', '/proc/irq', '/proc/sys', '/proc/sysrq-trigger']}, 'GraphDriver': {'Data': {'LowerDir': '/var/lib/docker/overlay2/c7016b8c2b30b2d2ba84a6b580511e88ad68f196fe0a101409c11b728fd7134c-init/diff:/var/lib/docker/overlay2/2cca4d84077da001061973a4864698ac6f2587bb018b6dfe260fdb190cfbc0cc/diff:/var/lib/docker/overlay2/b5f7877e22e44d2dcc72af9e176521365ca8a069f6be45bbfa4d959fb141f0d7/diff:/var/lib/docker/overlay2/4edcbac4f7584f50deb67c52fe7e2881fb2853176a0b3d4c1ed55227f542a065/diff:/var/lib/docker/overlay2/9ca7e53e7ca7493169d415675d3c7b08c567628836c27db25ac1cff10172c98b/diff:/var/lib/docker/overlay2/13c13660f4788571cdb20cc6753c90c9c7940cfc75bb0131e0d0c90bbd9c153d/diff:/var/lib/docker/overlay2/bcf6ca78405c42c368ee055ca5dd41940605b8fb48ca0b3521c1ef582f3384b3/diff', 'MergedDir': '/var/lib/docker/overlay2/c7016b8c2b30b2d2ba84a6b580511e88ad68f196fe0a101409c11b728fd7134c/merged', 'UpperDir': '/var/lib/docker/overlay2/c7016b8c2b30b2d2ba84a6b580511e88ad68f196fe0a101409c11b728fd7134c/diff', 'WorkDir': '/var/lib/docker/overlay2/c7016b8c2b30b2d2ba84a6b580511e88ad68f196fe0a101409c11b728fd7134c/work'}, 'Name': 'overlay2'}, 'Mounts': [{'Type': 'volume', 'Name': 'd3d2133615e5a4f90f93a25af4bba745dba0df07b2367446f52e0b269a480c16', 'Source': '/var/lib/docker/volumes/d3d2133615e5a4f90f93a25af4bba745dba0df07b2367446f52e0b269a480c16/_data', 'Destination': '/data', 'Driver': 'local', 'Mode': '', 'RW': True, 'Propagation': ''}], 'Config': {'Hostname': '2340b1e2c1b3', 'Domainname': '', 'User': '', 'AttachStdin': False, 'AttachStdout': False, 'AttachStderr': False, 'ExposedPorts': {'11234/tcp': {}, '6379/tcp': {}}, 'Tty': False, 'OpenStdin': False, 'StdinOnce': False, 'Env': ['PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'GOSU_VERSION=1.12', 'REDIS_VERSION=6.2.1', 'REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-6.2.1.tar.gz', 'REDIS_DOWNLOAD_SHA=cd222505012cce20b25682fca931ec93bd21ae92cb4abfe742cf7b76aa907520'], 'Cmd': ['redis-server'], 'Image': 'redis:latest', 'Volumes': {'/data': {}}, 'WorkingDir': '/data', 'Entrypoint': ['docker-entrypoint.sh'], 'OnBuild': None, 'Labels': {}}, 'NetworkSettings': {'Bridge': '', 'SandboxID': '', 'HairpinMode': False, 'LinkLocalIPv6Address': '', 'LinkLocalIPv6PrefixLen': 0, 'Ports': {}, 'SandboxKey': '', 'SecondaryIPAddresses': None, 'SecondaryIPv6Addresses': None, 'EndpointID': '', 'Gateway': '', 'GlobalIPv6Address': '', 'GlobalIPv6PrefixLen': 0, 'IPAddress': '', 'IPPrefixLen': 0, 'IPv6Gateway': '', 'MacAddress': '', 'Networks': {'bridge': {'IPAMConfig': None, 'Links': None, 'Aliases': None, 'NetworkID': '', 'EndpointID': '', 'Gateway': '', 'IPAddress': '', 'IPPrefixLen': 0, 'IPv6Gateway': '', 'GlobalIPv6Address': '', 'GlobalIPv6PrefixLen': 0, 'MacAddress': '', 'DriverOpts': None}}}}
C {'Id': '2340b1e2c1b362a59e0e81fd4f980a2b98e9f32d165068ab34194ea81b4ba8b8', 'Created': '2021-03-30T11:59:22.8020237Z', 'Path': 'docker-entrypoint.sh', 'Args': ['redis-server'], 'State': {'Status': 'running', 'Running': True, 'Paused': False, 'Restarting': False, 'OOMKilled': False, 'Dead': False, 'Pid': 1427, 'ExitCode': 0, 'Error': '', 'StartedAt': '2021-03-30T11:59:24.1036989Z', 'FinishedAt': '0001-01-01T00:00:00Z'}, 'Image': 'sha256:b29265c0674f784dbed5fee6b5dcb5e519f91bb487843da27b7d556a49d6a3c4', 'ResolvConfPath': '/var/lib/docker/containers/2340b1e2c1b362a59e0e81fd4f980a2b98e9f32d165068ab34194ea81b4ba8b8/resolv.conf', 'HostnamePath': '/var/lib/docker/containers/2340b1e2c1b362a59e0e81fd4f980a2b98e9f32d165068ab34194ea81b4ba8b8/hostname', 'HostsPath': '/var/lib/docker/containers/2340b1e2c1b362a59e0e81fd4f980a2b98e9f32d165068ab34194ea81b4ba8b8/hosts', 'LogPath': '/var/lib/docker/containers/2340b1e2c1b362a59e0e81fd4f980a2b98e9f32d165068ab34194ea81b4ba8b8/2340b1e2c1b362a59e0e81fd4f980a2b98e9f32d165068ab34194ea81b4ba8b8-json.log', 'Name': '/infallible_black', 'RestartCount': 0, 'Driver': 'overlay2', 'Platform': 'linux', 'MountLabel': '', 'ProcessLabel': '', 'AppArmorProfile': '', 'ExecIDs': None, 'HostConfig': {'Binds': None, 'ContainerIDFile': '', 'LogConfig': {'Type': 'json-file', 'Config': {}}, 'NetworkMode': 'default', 'PortBindings': {'11234/tcp': [{'HostIp': '0.0.0.0', 'HostPort': '0'}]}, 'RestartPolicy': {'Name': '', 'MaximumRetryCount': 0}, 'AutoRemove': False, 'VolumeDriver': '', 'VolumesFrom': None, 'CapAdd': None, 'CapDrop': None, 'CgroupnsMode': 'host', 'Dns': None, 'DnsOptions': None, 'DnsSearch': None, 'ExtraHosts': None, 'GroupAdd': None, 'IpcMode': 'private', 'Cgroup': '', 'Links': None, 'OomScoreAdj': 0, 'PidMode': '', 'Privileged': False, 'PublishAllPorts': False, 'ReadonlyRootfs': False, 'SecurityOpt': None, 'UTSMode': '', 'UsernsMode': '', 'ShmSize': 67108864, 'Runtime': 'runc', 'ConsoleSize': [0, 0], 'Isolation': '', 'CpuShares': 0, 'Memory': 0, 'NanoCpus': 0, 'CgroupParent': '', 'BlkioWeight': 0, 'BlkioWeightDevice': None, 'BlkioDeviceReadBps': None, 'BlkioDeviceWriteBps': None, 'BlkioDeviceReadIOps': None, 'BlkioDeviceWriteIOps': None, 'CpuPeriod': 0, 'CpuQuota': 0, 'CpuRealtimePeriod': 0, 'CpuRealtimeRuntime': 0, 'CpusetCpus': '', 'CpusetMems': '', 'Devices': None, 'DeviceCgroupRules': None, 'DeviceRequests': None, 'KernelMemory': 0, 'KernelMemoryTCP': 0, 'MemoryReservation': 0, 'MemorySwap': 0, 'MemorySwappiness': None, 'OomKillDisable': False, 'PidsLimit': None, 'Ulimits': None, 'CpuCount': 0, 'CpuPercent': 0, 'IOMaximumIOps': 0, 'IOMaximumBandwidth': 0, 'MaskedPaths': ['/proc/asound', '/proc/acpi', '/proc/kcore', '/proc/keys', '/proc/latency_stats', '/proc/timer_list', '/proc/timer_stats', '/proc/sched_debug', '/proc/scsi', '/sys/firmware'], 'ReadonlyPaths': ['/proc/bus', '/proc/fs', '/proc/irq', '/proc/sys', '/proc/sysrq-trigger']}, 'GraphDriver': {'Data': {'LowerDir': '/var/lib/docker/overlay2/c7016b8c2b30b2d2ba84a6b580511e88ad68f196fe0a101409c11b728fd7134c-init/diff:/var/lib/docker/overlay2/2cca4d84077da001061973a4864698ac6f2587bb018b6dfe260fdb190cfbc0cc/diff:/var/lib/docker/overlay2/b5f7877e22e44d2dcc72af9e176521365ca8a069f6be45bbfa4d959fb141f0d7/diff:/var/lib/docker/overlay2/4edcbac4f7584f50deb67c52fe7e2881fb2853176a0b3d4c1ed55227f542a065/diff:/var/lib/docker/overlay2/9ca7e53e7ca7493169d415675d3c7b08c567628836c27db25ac1cff10172c98b/diff:/var/lib/docker/overlay2/13c13660f4788571cdb20cc6753c90c9c7940cfc75bb0131e0d0c90bbd9c153d/diff:/var/lib/docker/overlay2/bcf6ca78405c42c368ee055ca5dd41940605b8fb48ca0b3521c1ef582f3384b3/diff', 'MergedDir': '/var/lib/docker/overlay2/c7016b8c2b30b2d2ba84a6b580511e88ad68f196fe0a101409c11b728fd7134c/merged', 'UpperDir': '/var/lib/docker/overlay2/c7016b8c2b30b2d2ba84a6b580511e88ad68f196fe0a101409c11b728fd7134c/diff', 'WorkDir': '/var/lib/docker/overlay2/c7016b8c2b30b2d2ba84a6b580511e88ad68f196fe0a101409c11b728fd7134c/work'}, 'Name': 'overlay2'}, 'Mounts': [{'Type': 'volume', 'Name': 'd3d2133615e5a4f90f93a25af4bba745dba0df07b2367446f52e0b269a480c16', 'Source': '/var/lib/docker/volumes/d3d2133615e5a4f90f93a25af4bba745dba0df07b2367446f52e0b269a480c16/_data', 'Destination': '/data', 'Driver': 'local', 'Mode': '', 'RW': True, 'Propagation': ''}], 'Config': {'Hostname': '2340b1e2c1b3', 'Domainname': '', 'User': '', 'AttachStdin': False, 'AttachStdout': False, 'AttachStderr': False, 'ExposedPorts': {'11234/tcp': {}, '6379/tcp': {}}, 'Tty': False, 'OpenStdin': False, 'StdinOnce': False, 'Env': ['PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'GOSU_VERSION=1.12', 'REDIS_VERSION=6.2.1', 'REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-6.2.1.tar.gz', 'REDIS_DOWNLOAD_SHA=cd222505012cce20b25682fca931ec93bd21ae92cb4abfe742cf7b76aa907520'], 'Cmd': ['redis-server'], 'Image': 'redis:latest', 'Volumes': {'/data': {}}, 'WorkingDir': '/data', 'Entrypoint': ['docker-entrypoint.sh'], 'OnBuild': None, 'Labels': {}}, 'NetworkSettings': {'Bridge': '', 'SandboxID': '46467028b059d51be9d13943283b2801376112235e2e4b69b8e55a757e4ff71f', 'HairpinMode': False, 'LinkLocalIPv6Address': '', 'LinkLocalIPv6PrefixLen': 0, 'Ports': {'11234/tcp': [{'HostIp': '0.0.0.0', 'HostPort': '64485'}], '6379/tcp': None}, 'SandboxKey': '/var/run/docker/netns/46467028b059', 'SecondaryIPAddresses': None, 'SecondaryIPv6Addresses': None, 'EndpointID': '5a7cddf67c5a777c87eaf3482b3952800aeb416b702577801d1bf6cc6afae877', 'Gateway': '172.17.0.1', 'GlobalIPv6Address': '', 'GlobalIPv6PrefixLen': 0, 'IPAddress': '172.17.0.2', 'IPPrefixLen': 16, 'IPv6Gateway': '', 'MacAddress': '02:42:ac:11:00:02', 'Networks': {'bridge': {'IPAMConfig': None, 'Links': None, 'Aliases': None, 'NetworkID': '2f080fd31cc7147c36016f6e033025cde081961013d1ffdee09c01721e94918f', 'EndpointID': '5a7cddf67c5a777c87eaf3482b3952800aeb416b702577801d1bf6cc6afae877', 'Gateway': '172.17.0.1', 'IPAddress': '172.17.0.2', 'IPPrefixLen': 16, 'IPv6Gateway': '', 'GlobalIPv6Address': '', 'GlobalIPv6PrefixLen': 0, 'MacAddress': '02:42:ac:11:00:02', 'DriverOpts': None}}}}

filtering only ["NetworkSettings"]["Ports"] evaluates to:

A {}
B {}
C {'11234/tcp': [], '6379/tcp': None}

EDIT: I'm just now noticing the strange behaviour, will investigate further if I have time

@bentheiii
Copy link
Author

It appears that the issue can be fixed by introducing a small delay (even a function call) between the start and reload calls

client = DockerClient.from_env()
container = client.containers.create("redis:latest", detach=True, ports={11234: None})

def report(label):
    attrs = container.attrs
    portmap = attrs["NetworkSettings"]["Ports"]
    print(label, 'all attrs', attrs)
    print(label, 'portmap', portmap)

try:
    report('A')
    container.start()
    container.reload()
    report('B')
    container.reload()
    report('C')
finally:
    container.kill('SIGKILL')

output:

A all attrs {'Id': '185a0f34cce6894ecedc2dc739ccdda8d9db12f9de3911bb8bc3602457bb859c', 'Created': '2021-03-30T13:43:19.9134593Z', 'Path': 'docker-entrypoint.sh', 'Args': ['redis-server'], 'State': {'Status': 'created', 'Running': False, 'Paused': False, 'Restarting': False, 'OOMKilled': False, 'Dead': False, 'Pid': 0, 'ExitCode': 0, 'Error': '', 'StartedAt': '0001-01-01T00:00:00Z', 'FinishedAt': '0001-01-01T00:00:00Z'}, 'Image': 'sha256:b29265c0674f784dbed5fee6b5dcb5e519f91bb487843da27b7d556a49d6a3c4', 'ResolvConfPath': '', 'HostnamePath': '', 'HostsPath': '', 'LogPath': '', 'Name': '/dazzling_yalow', 'RestartCount': 0, 'Driver': 'overlay2', 'Platform': 'linux', 'MountLabel': '', 'ProcessLabel': '', 'AppArmorProfile': '', 'ExecIDs': None, 'HostConfig': {'Binds': None, 'ContainerIDFile': '', 'LogConfig': {'Type': 'json-file', 'Config': {}}, 'NetworkMode': 'default', 'PortBindings': {'11234/tcp': [{'HostIp': '0.0.0.0', 'HostPort': '0'}]}, 'RestartPolicy': {'Name': '', 'MaximumRetryCount': 0}, 'AutoRemove': False, 'VolumeDriver': '', 'VolumesFrom': None, 'CapAdd': None, 'CapDrop': None, 'CgroupnsMode': 'host', 'Dns': None, 'DnsOptions': None, 'DnsSearch': None, 'ExtraHosts': None, 'GroupAdd': None, 'IpcMode': 'private', 'Cgroup': '', 'Links': None, 'OomScoreAdj': 0, 'PidMode': '', 'Privileged': False, 'PublishAllPorts': False, 'ReadonlyRootfs': False, 'SecurityOpt': None, 'UTSMode': '', 'UsernsMode': '', 'ShmSize': 67108864, 'Runtime': 'runc', 'ConsoleSize': [0, 0], 'Isolation': '', 'CpuShares': 0, 'Memory': 0, 'NanoCpus': 0, 'CgroupParent': '', 'BlkioWeight': 0, 'BlkioWeightDevice': None, 'BlkioDeviceReadBps': None, 'BlkioDeviceWriteBps': None, 'BlkioDeviceReadIOps': None, 'BlkioDeviceWriteIOps': None, 'CpuPeriod': 0, 'CpuQuota': 0, 'CpuRealtimePeriod': 0, 'CpuRealtimeRuntime': 0, 'CpusetCpus': '', 'CpusetMems': '', 'Devices': None, 'DeviceCgroupRules': None, 'DeviceRequests': None, 'KernelMemory': 0, 'KernelMemoryTCP': 0, 'MemoryReservation': 0, 'MemorySwap': 0, 'MemorySwappiness': None, 'OomKillDisable': False, 'PidsLimit': None, 'Ulimits': None, 'CpuCount': 0, 'CpuPercent': 0, 'IOMaximumIOps': 0, 'IOMaximumBandwidth': 0, 'MaskedPaths': ['/proc/asound', '/proc/acpi', '/proc/kcore', '/proc/keys', '/proc/latency_stats', '/proc/timer_list', '/proc/timer_stats', '/proc/sched_debug', '/proc/scsi', '/sys/firmware'], 'ReadonlyPaths': ['/proc/bus', '/proc/fs', '/proc/irq', '/proc/sys', '/proc/sysrq-trigger']}, 'GraphDriver': {'Data': {'LowerDir': '/var/lib/docker/overlay2/566de638e019a05d92a0e4ea20b4aca47210124b2b9d7133c61c0a263b1da901-init/diff:/var/lib/docker/overlay2/2cca4d84077da001061973a4864698ac6f2587bb018b6dfe260fdb190cfbc0cc/diff:/var/lib/docker/overlay2/b5f7877e22e44d2dcc72af9e176521365ca8a069f6be45bbfa4d959fb141f0d7/diff:/var/lib/docker/overlay2/4edcbac4f7584f50deb67c52fe7e2881fb2853176a0b3d4c1ed55227f542a065/diff:/var/lib/docker/overlay2/9ca7e53e7ca7493169d415675d3c7b08c567628836c27db25ac1cff10172c98b/diff:/var/lib/docker/overlay2/13c13660f4788571cdb20cc6753c90c9c7940cfc75bb0131e0d0c90bbd9c153d/diff:/var/lib/docker/overlay2/bcf6ca78405c42c368ee055ca5dd41940605b8fb48ca0b3521c1ef582f3384b3/diff', 'MergedDir': '/var/lib/docker/overlay2/566de638e019a05d92a0e4ea20b4aca47210124b2b9d7133c61c0a263b1da901/merged', 'UpperDir': '/var/lib/docker/overlay2/566de638e019a05d92a0e4ea20b4aca47210124b2b9d7133c61c0a263b1da901/diff', 'WorkDir': '/var/lib/docker/overlay2/566de638e019a05d92a0e4ea20b4aca47210124b2b9d7133c61c0a263b1da901/work'}, 'Name': 'overlay2'}, 'Mounts': [{'Type': 'volume', 'Name': 'a487d5aafc8e75f83e50f062adef247e393c1f9c10c3dc5accf9ae7d831c69d3', 'Source': '/var/lib/docker/volumes/a487d5aafc8e75f83e50f062adef247e393c1f9c10c3dc5accf9ae7d831c69d3/_data', 'Destination': '/data', 'Driver': 'local', 'Mode': '', 'RW': True, 'Propagation': ''}], 'Config': {'Hostname': '185a0f34cce6', 'Domainname': '', 'User': '', 'AttachStdin': False, 'AttachStdout': False, 'AttachStderr': False, 'ExposedPorts': {'11234/tcp': {}, '6379/tcp': {}}, 'Tty': False, 'OpenStdin': False, 'StdinOnce': False, 'Env': ['PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'GOSU_VERSION=1.12', 'REDIS_VERSION=6.2.1', 'REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-6.2.1.tar.gz', 'REDIS_DOWNLOAD_SHA=cd222505012cce20b25682fca931ec93bd21ae92cb4abfe742cf7b76aa907520'], 'Cmd': ['redis-server'], 'Image': 'redis:latest', 'Volumes': {'/data': {}}, 'WorkingDir': '/data', 'Entrypoint': ['docker-entrypoint.sh'], 'OnBuild': None, 'Labels': {}}, 'NetworkSettings': {'Bridge': '', 'SandboxID': '', 'HairpinMode': False, 'LinkLocalIPv6Address': '', 'LinkLocalIPv6PrefixLen': 0, 'Ports': {}, 'SandboxKey': '', 'SecondaryIPAddresses': None, 'SecondaryIPv6Addresses': None, 'EndpointID': '', 'Gateway': '', 'GlobalIPv6Address': '', 'GlobalIPv6PrefixLen': 0, 'IPAddress': '', 'IPPrefixLen': 0, 'IPv6Gateway': '', 'MacAddress': '', 'Networks': {'bridge': {'IPAMConfig': None, 'Links': None, 'Aliases': None, 'NetworkID': '', 'EndpointID': '', 'Gateway': '', 'IPAddress': '', 'IPPrefixLen': 0, 'IPv6Gateway': '', 'GlobalIPv6Address': '', 'GlobalIPv6PrefixLen': 0, 'MacAddress': '', 'DriverOpts': None}}}}
A portmap {}
B all attrs {'Id': '185a0f34cce6894ecedc2dc739ccdda8d9db12f9de3911bb8bc3602457bb859c', 'Created': '2021-03-30T13:43:19.9134593Z', 'Path': 'docker-entrypoint.sh', 'Args': ['redis-server'], 'State': {'Status': 'running', 'Running': True, 'Paused': False, 'Restarting': False, 'OOMKilled': False, 'Dead': False, 'Pid': 5378, 'ExitCode': 0, 'Error': '', 'StartedAt': '2021-03-30T13:43:21.1818728Z', 'FinishedAt': '0001-01-01T00:00:00Z'}, 'Image': 'sha256:b29265c0674f784dbed5fee6b5dcb5e519f91bb487843da27b7d556a49d6a3c4', 'ResolvConfPath': '/var/lib/docker/containers/185a0f34cce6894ecedc2dc739ccdda8d9db12f9de3911bb8bc3602457bb859c/resolv.conf', 'HostnamePath': '/var/lib/docker/containers/185a0f34cce6894ecedc2dc739ccdda8d9db12f9de3911bb8bc3602457bb859c/hostname', 'HostsPath': '/var/lib/docker/containers/185a0f34cce6894ecedc2dc739ccdda8d9db12f9de3911bb8bc3602457bb859c/hosts', 'LogPath': '/var/lib/docker/containers/185a0f34cce6894ecedc2dc739ccdda8d9db12f9de3911bb8bc3602457bb859c/185a0f34cce6894ecedc2dc739ccdda8d9db12f9de3911bb8bc3602457bb859c-json.log', 'Name': '/dazzling_yalow', 'RestartCount': 0, 'Driver': 'overlay2', 'Platform': 'linux', 'MountLabel': '', 'ProcessLabel': '', 'AppArmorProfile': '', 'ExecIDs': None, 'HostConfig': {'Binds': None, 'ContainerIDFile': '', 'LogConfig': {'Type': 'json-file', 'Config': {}}, 'NetworkMode': 'default', 'PortBindings': {'11234/tcp': [{'HostIp': '0.0.0.0', 'HostPort': '0'}]}, 'RestartPolicy': {'Name': '', 'MaximumRetryCount': 0}, 'AutoRemove': False, 'VolumeDriver': '', 'VolumesFrom': None, 'CapAdd': None, 'CapDrop': None, 'CgroupnsMode': 'host', 'Dns': None, 'DnsOptions': None, 'DnsSearch': None, 'ExtraHosts': None, 'GroupAdd': None, 'IpcMode': 'private', 'Cgroup': '', 'Links': None, 'OomScoreAdj': 0, 'PidMode': '', 'Privileged': False, 'PublishAllPorts': False, 'ReadonlyRootfs': False, 'SecurityOpt': None, 'UTSMode': '', 'UsernsMode': '', 'ShmSize': 67108864, 'Runtime': 'runc', 'ConsoleSize': [0, 0], 'Isolation': '', 'CpuShares': 0, 'Memory': 0, 'NanoCpus': 0, 'CgroupParent': '', 'BlkioWeight': 0, 'BlkioWeightDevice': None, 'BlkioDeviceReadBps': None, 'BlkioDeviceWriteBps': None, 'BlkioDeviceReadIOps': None, 'BlkioDeviceWriteIOps': None, 'CpuPeriod': 0, 'CpuQuota': 0, 'CpuRealtimePeriod': 0, 'CpuRealtimeRuntime': 0, 'CpusetCpus': '', 'CpusetMems': '', 'Devices': None, 'DeviceCgroupRules': None, 'DeviceRequests': None, 'KernelMemory': 0, 'KernelMemoryTCP': 0, 'MemoryReservation': 0, 'MemorySwap': 0, 'MemorySwappiness': None, 'OomKillDisable': False, 'PidsLimit': None, 'Ulimits': None, 'CpuCount': 0, 'CpuPercent': 0, 'IOMaximumIOps': 0, 'IOMaximumBandwidth': 0, 'MaskedPaths': ['/proc/asound', '/proc/acpi', '/proc/kcore', '/proc/keys', '/proc/latency_stats', '/proc/timer_list', '/proc/timer_stats', '/proc/sched_debug', '/proc/scsi', '/sys/firmware'], 'ReadonlyPaths': ['/proc/bus', '/proc/fs', '/proc/irq', '/proc/sys', '/proc/sysrq-trigger']}, 'GraphDriver': {'Data': {'LowerDir': '/var/lib/docker/overlay2/566de638e019a05d92a0e4ea20b4aca47210124b2b9d7133c61c0a263b1da901-init/diff:/var/lib/docker/overlay2/2cca4d84077da001061973a4864698ac6f2587bb018b6dfe260fdb190cfbc0cc/diff:/var/lib/docker/overlay2/b5f7877e22e44d2dcc72af9e176521365ca8a069f6be45bbfa4d959fb141f0d7/diff:/var/lib/docker/overlay2/4edcbac4f7584f50deb67c52fe7e2881fb2853176a0b3d4c1ed55227f542a065/diff:/var/lib/docker/overlay2/9ca7e53e7ca7493169d415675d3c7b08c567628836c27db25ac1cff10172c98b/diff:/var/lib/docker/overlay2/13c13660f4788571cdb20cc6753c90c9c7940cfc75bb0131e0d0c90bbd9c153d/diff:/var/lib/docker/overlay2/bcf6ca78405c42c368ee055ca5dd41940605b8fb48ca0b3521c1ef582f3384b3/diff', 'MergedDir': '/var/lib/docker/overlay2/566de638e019a05d92a0e4ea20b4aca47210124b2b9d7133c61c0a263b1da901/merged', 'UpperDir': '/var/lib/docker/overlay2/566de638e019a05d92a0e4ea20b4aca47210124b2b9d7133c61c0a263b1da901/diff', 'WorkDir': '/var/lib/docker/overlay2/566de638e019a05d92a0e4ea20b4aca47210124b2b9d7133c61c0a263b1da901/work'}, 'Name': 'overlay2'}, 'Mounts': [{'Type': 'volume', 'Name': 'a487d5aafc8e75f83e50f062adef247e393c1f9c10c3dc5accf9ae7d831c69d3', 'Source': '/var/lib/docker/volumes/a487d5aafc8e75f83e50f062adef247e393c1f9c10c3dc5accf9ae7d831c69d3/_data', 'Destination': '/data', 'Driver': 'local', 'Mode': '', 'RW': True, 'Propagation': ''}], 'Config': {'Hostname': '185a0f34cce6', 'Domainname': '', 'User': '', 'AttachStdin': False, 'AttachStdout': False, 'AttachStderr': False, 'ExposedPorts': {'11234/tcp': {}, '6379/tcp': {}}, 'Tty': False, 'OpenStdin': False, 'StdinOnce': False, 'Env': ['PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'GOSU_VERSION=1.12', 'REDIS_VERSION=6.2.1', 'REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-6.2.1.tar.gz', 'REDIS_DOWNLOAD_SHA=cd222505012cce20b25682fca931ec93bd21ae92cb4abfe742cf7b76aa907520'], 'Cmd': ['redis-server'], 'Image': 'redis:latest', 'Volumes': {'/data': {}}, 'WorkingDir': '/data', 'Entrypoint': ['docker-entrypoint.sh'], 'OnBuild': None, 'Labels': {}}, 'NetworkSettings': {'Bridge': '', 'SandboxID': '7a335e1c327ba0deaf12cbafd3eb496e426f47e549d1eb4937d46bdd7ede42ce', 'HairpinMode': False, 'LinkLocalIPv6Address': '', 'LinkLocalIPv6PrefixLen': 0, 'Ports': {'11234/tcp': [], '6379/tcp': None}, 'SandboxKey': '/var/run/docker/netns/7a335e1c327b', 'SecondaryIPAddresses': None, 'SecondaryIPv6Addresses': None, 'EndpointID': '76070bb0983eab0e10f1204b44272b588fb6f8674958918ccf00a21008bdc363', 'Gateway': '172.17.0.1', 'GlobalIPv6Address': '', 'GlobalIPv6PrefixLen': 0, 'IPAddress': '172.17.0.2', 'IPPrefixLen': 16, 'IPv6Gateway': '', 'MacAddress': '02:42:ac:11:00:02', 'Networks': {'bridge': {'IPAMConfig': None, 'Links': None, 'Aliases': None, 'NetworkID': '2f080fd31cc7147c36016f6e033025cde081961013d1ffdee09c01721e94918f', 'EndpointID': '76070bb0983eab0e10f1204b44272b588fb6f8674958918ccf00a21008bdc363', 'Gateway': '172.17.0.1', 'IPAddress': '172.17.0.2', 'IPPrefixLen': 16, 'IPv6Gateway': '', 'GlobalIPv6Address': '', 'GlobalIPv6PrefixLen': 0, 'MacAddress': '02:42:ac:11:00:02', 'DriverOpts': None}}}}
B portmap {'11234/tcp': [], '6379/tcp': None}
C all attrs {'Id': '185a0f34cce6894ecedc2dc739ccdda8d9db12f9de3911bb8bc3602457bb859c', 'Created': '2021-03-30T13:43:19.9134593Z', 'Path': 'docker-entrypoint.sh', 'Args': ['redis-server'], 'State': {'Status': 'running', 'Running': True, 'Paused': False, 'Restarting': False, 'OOMKilled': False, 'Dead': False, 'Pid': 5378, 'ExitCode': 0, 'Error': '', 'StartedAt': '2021-03-30T13:43:21.1818728Z', 'FinishedAt': '0001-01-01T00:00:00Z'}, 'Image': 'sha256:b29265c0674f784dbed5fee6b5dcb5e519f91bb487843da27b7d556a49d6a3c4', 'ResolvConfPath': '/var/lib/docker/containers/185a0f34cce6894ecedc2dc739ccdda8d9db12f9de3911bb8bc3602457bb859c/resolv.conf', 'HostnamePath': '/var/lib/docker/containers/185a0f34cce6894ecedc2dc739ccdda8d9db12f9de3911bb8bc3602457bb859c/hostname', 'HostsPath': '/var/lib/docker/containers/185a0f34cce6894ecedc2dc739ccdda8d9db12f9de3911bb8bc3602457bb859c/hosts', 'LogPath': '/var/lib/docker/containers/185a0f34cce6894ecedc2dc739ccdda8d9db12f9de3911bb8bc3602457bb859c/185a0f34cce6894ecedc2dc739ccdda8d9db12f9de3911bb8bc3602457bb859c-json.log', 'Name': '/dazzling_yalow', 'RestartCount': 0, 'Driver': 'overlay2', 'Platform': 'linux', 'MountLabel': '', 'ProcessLabel': '', 'AppArmorProfile': '', 'ExecIDs': None, 'HostConfig': {'Binds': None, 'ContainerIDFile': '', 'LogConfig': {'Type': 'json-file', 'Config': {}}, 'NetworkMode': 'default', 'PortBindings': {'11234/tcp': [{'HostIp': '0.0.0.0', 'HostPort': '0'}]}, 'RestartPolicy': {'Name': '', 'MaximumRetryCount': 0}, 'AutoRemove': False, 'VolumeDriver': '', 'VolumesFrom': None, 'CapAdd': None, 'CapDrop': None, 'CgroupnsMode': 'host', 'Dns': None, 'DnsOptions': None, 'DnsSearch': None, 'ExtraHosts': None, 'GroupAdd': None, 'IpcMode': 'private', 'Cgroup': '', 'Links': None, 'OomScoreAdj': 0, 'PidMode': '', 'Privileged': False, 'PublishAllPorts': False, 'ReadonlyRootfs': False, 'SecurityOpt': None, 'UTSMode': '', 'UsernsMode': '', 'ShmSize': 67108864, 'Runtime': 'runc', 'ConsoleSize': [0, 0], 'Isolation': '', 'CpuShares': 0, 'Memory': 0, 'NanoCpus': 0, 'CgroupParent': '', 'BlkioWeight': 0, 'BlkioWeightDevice': None, 'BlkioDeviceReadBps': None, 'BlkioDeviceWriteBps': None, 'BlkioDeviceReadIOps': None, 'BlkioDeviceWriteIOps': None, 'CpuPeriod': 0, 'CpuQuota': 0, 'CpuRealtimePeriod': 0, 'CpuRealtimeRuntime': 0, 'CpusetCpus': '', 'CpusetMems': '', 'Devices': None, 'DeviceCgroupRules': None, 'DeviceRequests': None, 'KernelMemory': 0, 'KernelMemoryTCP': 0, 'MemoryReservation': 0, 'MemorySwap': 0, 'MemorySwappiness': None, 'OomKillDisable': False, 'PidsLimit': None, 'Ulimits': None, 'CpuCount': 0, 'CpuPercent': 0, 'IOMaximumIOps': 0, 'IOMaximumBandwidth': 0, 'MaskedPaths': ['/proc/asound', '/proc/acpi', '/proc/kcore', '/proc/keys', '/proc/latency_stats', '/proc/timer_list', '/proc/timer_stats', '/proc/sched_debug', '/proc/scsi', '/sys/firmware'], 'ReadonlyPaths': ['/proc/bus', '/proc/fs', '/proc/irq', '/proc/sys', '/proc/sysrq-trigger']}, 'GraphDriver': {'Data': {'LowerDir': '/var/lib/docker/overlay2/566de638e019a05d92a0e4ea20b4aca47210124b2b9d7133c61c0a263b1da901-init/diff:/var/lib/docker/overlay2/2cca4d84077da001061973a4864698ac6f2587bb018b6dfe260fdb190cfbc0cc/diff:/var/lib/docker/overlay2/b5f7877e22e44d2dcc72af9e176521365ca8a069f6be45bbfa4d959fb141f0d7/diff:/var/lib/docker/overlay2/4edcbac4f7584f50deb67c52fe7e2881fb2853176a0b3d4c1ed55227f542a065/diff:/var/lib/docker/overlay2/9ca7e53e7ca7493169d415675d3c7b08c567628836c27db25ac1cff10172c98b/diff:/var/lib/docker/overlay2/13c13660f4788571cdb20cc6753c90c9c7940cfc75bb0131e0d0c90bbd9c153d/diff:/var/lib/docker/overlay2/bcf6ca78405c42c368ee055ca5dd41940605b8fb48ca0b3521c1ef582f3384b3/diff', 'MergedDir': '/var/lib/docker/overlay2/566de638e019a05d92a0e4ea20b4aca47210124b2b9d7133c61c0a263b1da901/merged', 'UpperDir': '/var/lib/docker/overlay2/566de638e019a05d92a0e4ea20b4aca47210124b2b9d7133c61c0a263b1da901/diff', 'WorkDir': '/var/lib/docker/overlay2/566de638e019a05d92a0e4ea20b4aca47210124b2b9d7133c61c0a263b1da901/work'}, 'Name': 'overlay2'}, 'Mounts': [{'Type': 'volume', 'Name': 'a487d5aafc8e75f83e50f062adef247e393c1f9c10c3dc5accf9ae7d831c69d3', 'Source': '/var/lib/docker/volumes/a487d5aafc8e75f83e50f062adef247e393c1f9c10c3dc5accf9ae7d831c69d3/_data', 'Destination': '/data', 'Driver': 'local', 'Mode': '', 'RW': True, 'Propagation': ''}], 'Config': {'Hostname': '185a0f34cce6', 'Domainname': '', 'User': '', 'AttachStdin': False, 'AttachStdout': False, 'AttachStderr': False, 'ExposedPorts': {'11234/tcp': {}, '6379/tcp': {}}, 'Tty': False, 'OpenStdin': False, 'StdinOnce': False, 'Env': ['PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'GOSU_VERSION=1.12', 'REDIS_VERSION=6.2.1', 'REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-6.2.1.tar.gz', 'REDIS_DOWNLOAD_SHA=cd222505012cce20b25682fca931ec93bd21ae92cb4abfe742cf7b76aa907520'], 'Cmd': ['redis-server'], 'Image': 'redis:latest', 'Volumes': {'/data': {}}, 'WorkingDir': '/data', 'Entrypoint': ['docker-entrypoint.sh'], 'OnBuild': None, 'Labels': {}}, 'NetworkSettings': {'Bridge': '', 'SandboxID': '7a335e1c327ba0deaf12cbafd3eb496e426f47e549d1eb4937d46bdd7ede42ce', 'HairpinMode': False, 'LinkLocalIPv6Address': '', 'LinkLocalIPv6PrefixLen': 0, 'Ports': {'11234/tcp': [{'HostIp': '0.0.0.0', 'HostPort': '49808'}], '6379/tcp': None}, 'SandboxKey': '/var/run/docker/netns/7a335e1c327b', 'SecondaryIPAddresses': None, 'SecondaryIPv6Addresses': None, 'EndpointID': '76070bb0983eab0e10f1204b44272b588fb6f8674958918ccf00a21008bdc363', 'Gateway': '172.17.0.1', 'GlobalIPv6Address': '', 'GlobalIPv6PrefixLen': 0, 'IPAddress': '172.17.0.2', 'IPPrefixLen': 16, 'IPv6Gateway': '', 'MacAddress': '02:42:ac:11:00:02', 'Networks': {'bridge': {'IPAMConfig': None, 'Links': None, 'Aliases': None, 'NetworkID': '2f080fd31cc7147c36016f6e033025cde081961013d1ffdee09c01721e94918f', 'EndpointID': '76070bb0983eab0e10f1204b44272b588fb6f8674958918ccf00a21008bdc363', 'Gateway': '172.17.0.1', 'IPAddress': '172.17.0.2', 'IPPrefixLen': 16, 'IPv6Gateway': '', 'GlobalIPv6Address': '', 'GlobalIPv6PrefixLen': 0, 'MacAddress': '02:42:ac:11:00:02', 'DriverOpts': None}}}}
C portmap {'11234/tcp': [{'HostIp': '0.0.0.0', 'HostPort': '49808'}], '6379/tcp': None}

@feliperuhland
Copy link
Contributor

feliperuhland commented Mar 30, 2021

My output (linux) was:

A portmap {}
B portmap {'11234/tcp': [{'HostIp': '0.0.0.0', 'HostPort': '49155'}], '6379/tcp': None}
C portmap {'11234/tcp': [{'HostIp': '0.0.0.0', 'HostPort': '49155'}], '6379/tcp': None}

@ulyssessouza could you try that as well?

Thanks @bentheiii @ulyssessouza

@feliperuhland
Copy link
Contributor

Hi @bentheiii

I´m sorry to ask you again, but could you try to play around with container.reload(timeout=XXXXX)?

Unfortunately, that issue doesn't happen on Linux, and Docker doesn´t work inside a Windows VM.

Thanks again, and have a nice day :)

@aviramha
Copy link

aviramha commented Apr 8, 2021

I think this is a Docker Desktop issue, so this should be in the docker for-mac/for-win repository?

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

Successfully merging a pull request may close this issue.

3 participants