【发布时间】:2015-06-29 15:15:08
【问题描述】:
在docker中创建容器时,以下命令有什么不同?
docker run -d -p 8080 sample/image
和
docker run -d -p 8080:8080 sample/image
我看到他们中的大多数人使用第二个命令,但我不确定它们是否意味着不同的东西,或者第一个是否是简写。
我找不到这方面的任何资料。
【问题讨论】:
标签: docker containers dockerfile
在docker中创建容器时,以下命令有什么不同?
docker run -d -p 8080 sample/image
和
docker run -d -p 8080:8080 sample/image
我看到他们中的大多数人使用第二个命令,但我不确定它们是否意味着不同的东西,或者第一个是否是简写。
我找不到这方面的任何资料。
【问题讨论】:
标签: docker containers dockerfile
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。
【讨论】: