dockerfile | 您所在的位置:网站首页 › 端口转发和端口映射的区别是什么 › dockerfile |
EXPOSE:功能为暴漏容器运行时的监听端口给外部,但是EXPOSE并不会使容器访问主机的端口,如果想使得容器与主机的端口有映射关系,必须在容器启动的时候加上 -P参数。 -P:大写P为自动映射,会将EXPOSE暴露出来的端口随机映射到宿主机的端口上,如果没有暴露端口,就不会有映射。 -p:小写p为手动映射,需要自己指定宿主机的端口和容器的端口,形式为: -p 宿主机端口:容器端口 总结:(1)无论有没有暴露端口、自动映射或者手动映射,宿主机都可以通过容器ip+80(随nginx监听端口改变而改变)端口访问服务; (2)要通过宿主机ip+端口的方式访问服务,宿主机的端口必须与容器端口有映射关系; (3)如果没有暴露端口,-P自动映射不会映射任何端口,-p可以指定宿主机端口和容器端口形成映射。 过程如下:环境:使用dockerfile制作nginx镜像进行试验 情况一:暴露端口80,不使用映射 情况二:暴露端口80,使用自动映射-P 情况三:暴露端口80,使用手动映射-p 情况四:不暴露端口,不使用映射 情况五:不暴露端口,使用自动映射-P 情况六:不暴露端口,使用手动映射-p |
CopyRight 2018-2019 实验室设备网 版权所有 |