运行容器时,将dockerfile的端口EXPATE与映射端口的区别是什么?

时间:2016-10-31 14:32:05

标签: docker port

我知道我可以在dockerfile中显示一个端口(例如8888)。使用此dockerfile,我可以构建一个图像,然后运行docker run --name container1 -p 8888:8888 image。通过这种方法,我可以访问容器中的端口8888。

第二种方式我没有从dockerfile中扩展任何端口。使用这个dockerfile,我可以构建image2,然后运行docker run --name container2 -p 8888:8888 image2

我想问一下他们之间的区别是什么?

我找到了一些奇怪的东西。

container1我运行jupyter notebook --port 8888。我可以从运行容器(port 8888)的主机和同一本地网络中的计算机(localhost:8888)访问hostip:8888

container2我运行jupyter notebook --port 8888。我可以从运行容器的主机port 8888)访问localhost:8888,但我无法通过port 8888从同一本地网络中的计算机访问hostip:8888。< / p>

0 个答案:

没有答案