docker运行与-p和单个端口(而不是映射)

在docker中创build容器时,以下命令有什么不同?

docker run -d -p 8080 sample/image

docker run -d -p 8080:8080 sample/image

我已经看到大多数人使用第二个命令,但我不确定他们是否意味着不同的东西,或者第一个是简写。

我找不到任何材料。

 docker run -d -p 8080 sample/image 

将容器的端口8080为主机上的任意端口。 哪个端口是由Docker决定的。

然而,

 docker run -d -p 8080:8080 sample/image 

在主机上显示容器的端口8080作为端口8080


在这两种情况下,您都可以使用docker inspect或甚至docker ps来查看映射:

 380af8c2bcc6 ubuntu "bash" 15 seconds ago Up 13 seconds 0.0.0.0:32768->1234/tcp elegant_meitner 

在这种情况下,容器的端口1234被暴露为主机上的端口32768