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
。