1.容器也有端口
宿主机有端口,而容器也有端口,但由于容器是一个独立的沙箱环境,二者的端口并不冲突。
不同容器之间端口不会冲突;容器与宿主机之间的端口不会冲突;同一个容器内部不允许出现端口冲突。
2.端口映射
2.1.外部机器无法直接访问容器
如上图所示,外部机器可以访问宿主机,宿主机可以访问容器(宿主机相当于代理),但外部机器却不可以直接访问容器。
2.2.解决方案:端口映射
端口映射是指:将宿主机的A端口与某一个容器的B端口进行绑定。当外部机器访问A端口时,宿主机将以代理的身份访问容器的B端口。如此一来,就实现了外部机器对容器B端口的访问。
2.3.如何实现端口映射
创建容器时加入-p参数:
-p <宿主机端口>:<容器端口>