Docker container port applied unexpected way like <port>-<port>/tcp

Hi I am new on docker

I built my image(which is based on centos image) and execute run command.
After several operations I commit the container.

And now when I command docker ps -a it shows like…

CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS                      PORTS                                                               NAMES
fe593ddcd74f        test-container:0.1               "/usr/sbin/init"         3 minutes ago       Up 2 minutes                9800-9801/tcp, 9809/tcp                                             elegant_wozniak

I ran this with command
docker run -d -p 9800:9800 -p 9801:9801 -p 9809:9809 test-container:0.1

I expected something like 9800/tcp, 9801/tcp, 9809/tcp, but it automatically connect two things together.
Is there any way to fix this ?

Thanks so much.

FYI, follow is what I found in /var/lib/docker/containers/[containerID].

{
	"StreamConfig":{
	},
	"State":{
		"Running":true,
		"Paused":false,
		"Restarting":false,
		"OOMKilled":false,
		"RemovalInProgress":false,
		"Dead":false,
		"Pid":237602,
		"ExitCode":0,
		"Error":"",
		"StartedAt":"2017-04-26T04:52:09.543683449Z",
		"FinishedAt":"0001-01-01T00:00:00Z",
		"Health":null
	},
	"ID":"fe593ddcd74f53707af8341151c5be471145d5c6f72a2a06731e9c297beb490a",
	"Created":"2017-04-26T04:52:07.968623795Z",
	"Managed":false,
	"Path":"/usr/sbin/init",
	"Args":[
	],
	"Config":{
		"Hostname":"fe593ddcd74f",
		"Domainname":"",
		"User":"",
		"AttachStdin":false,
		"AttachStdout":true,
		"AttachStderr":true,
		"ExposedPorts":{
		"9800/tcp":{
		},
		"9801/tcp":{
		},
		"9809/tcp":{
		}
		},
		"Tty":false,
		"OpenStdin":false,
		"StdinOnce":false,
		"Env":[
			"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
			"JAVA_HOME=/etc/alternatives/java_sdk_1.8.0"
		],
		"Cmd":[
			"/usr/sbin/init"
		],
		"ArgsEscaped":true,
		"Image":"test-container:0.1",
		"Volumes":null,
		"WorkingDir":"",
		"Entrypoint":null,
		"OnBuild":null,
		"Labels":{
		"build-date":"20170406",
		"license":"GPLv2",
		"name":"CentOS Base Image",
		"vendor":"CentOS"
		}
	},
	"Image":"sha256:9961609c375cbf4db292f34b4beab2db26e968f9cecec149049849cd9758ea9a",
	"NetworkSettings":{
		"Bridge":"",
		"SandboxID":"6ded0e0aaa4efdf7a094fd02329cd51f44bafdc5700b31453b490a38b3ee4c61",
		"HairpinMode":false,
		"LinkLocalIPv6Address":"",
		"LinkLocalIPv6PrefixLen":0,
		"Networks":{
			"bridge":{
				"IPAMConfig":null,
				"Links":null,
				"Aliases":null,
				"NetworkID":"ca0bdc7bd4c80b9f31e722f2818072ef7710e8989b11f89fb4e39491511af0f1",
				"EndpointID":"d273747e15b5648bda1728e8b9b57dbdb9a05aa3fa96a559d70e483432f7d455",
				"Gateway":"172.17.0.1",
				"IPAddress":"172.17.0.10",
				"IPPrefixLen":16,
				"IPv6Gateway":"",
				"GlobalIPv6Address":"",
				"GlobalIPv6PrefixLen":0,
				"MacAddress":"02:42:ac:11:00:0a",
				"IPAMOperational":false
			}
		},
		"Service":null,
		"Ports":{
			"9800/tcp":null,
			"9801/tcp":null,
			"9809/tcp":null
		},
		"SandboxKey":"/var/run/docker/netns/6ded0e0aaa4e",
		"SecondaryIPAddresses":null,
		"SecondaryIPv6Addresses":null,
		"IsAnonymousEndpoint":true,
		"HasSwarmEndpoint":false
	},
	"LogPath":"/var/lib/docker/containers/fe593ddcd74f53707af8341151c5be471145d5c6f72a2a06731e9c297beb490a/fe593ddcd74f53707af8341151c5be471145d5c6f72a2a06731e9c297beb490a-json.log",
	"Name":"/elegant_wozniak",
	"Driver":"devicemapper",
	"MountLabel":"",
	"ProcessLabel":"",
	"RestartCount":0,
	"HasBeenStartedBefore":true,
	"HasBeenManuallyStopped":false,
	"MountPoints":{
	},
	"SecretReferences":null,
	"AppArmorProfile":"",
	"HostnamePath":"/var/lib/docker/containers/fe593ddcd74f53707af8341151c5be471145d5c6f72a2a06731e9c297beb490a/hostname",
	"HostsPath":"/var/lib/docker/containers/fe593ddcd74f53707af8341151c5be471145d5c6f72a2a06731e9c297beb490a/hosts",
	"ShmPath":"/var/lib/docker/containers/fe593ddcd74f53707af8341151c5be471145d5c6f72a2a06731e9c297beb490a/shm",
	"ResolvConfPath":"/var/lib/docker/containers/fe593ddcd74f53707af8341151c5be471145d5c6f72a2a06731e9c297beb490a/resolv.conf",
	"SeccompProfile":"",
	"NoNewPrivileges":false
}

It’s a short form of displaying a continuous range of ports. It’s exactly the same as 9800/tcp, 9801/tcp displayed individually.

1 Like