新闻资讯

你知道docker是什么吗?如何解决docker 端口映射问题呢?

2022-10-20

最近,有小伙伴提出了有关于docker 端口映射的问题,docker 作为一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。因为docker的ip 是基于本地系统的,并且容器的端口非本地主机是访问不到的,此外,除了端口只能本地访问外,对于容器的另外一个问题是这些 ip 在容器每次启动的时候都会改变,基于以上两个问题,所以需要通过端口映射,实现外网的访问已经ip的稳定。那我们今天就来聊聊有关于docker 端口映射的问题吧!

你知道docker是什么吗?

在了解docker 端口映射之前,我们先来看看docker是什么吧!它是一个用Go语言实现的开源项目,可以让我们方便的创建和使用容器,docker将程序以及程序所有的依赖都打包到docker container,这样你的程序可以在任何环境都会有一致的表现。
因此我们可以看到docker可以屏蔽环境差异,也就是说,只要你的程序打包到了docker中,那么无论运行在什么环境下程序的行为都是一致的,程序员再也无法施展表演才华了,不会再有“在我的环境上可以运行”,真正实现“build once, run everywhere”。
此外docker的另一个好处就是快速部署,这是当前互联网公司最常见的一个应用场景,一个原因在于容器启动速度非常快,另一个原因在于只要确保一个容器中的程序正确运行,那么你就能确信无论在生产环境部署多少都能正确运行。

docker 端口映射的作用是什么?

你知道为什么要进行docker 端口映射吗?docker的ip 是基于本地系统的,并且容器的端口非本地主机是访问不到的。此外,除了端口只能本地访问外,对于容器的另外一个问题是这些 ip 在容器每次启动的时候都会改变。基于以上两个问题,所以需要通过端口映射,实现外网的访问已经ip的稳定。
花生壳内网穿透兼动态域名解析软件就是可以把域名和动态ip进行绑定,也就是每次路由器拨号到的动态外部ip地址会自动送到花生壳网站,花生壳网站将这个动态的ip绑定为一个固定的域名。并且对花生壳的设置,可以实现内网穿透和端口映射,实现外网访问内网的目标。

如何解决docker 端口映射问题呢?

既然我们在上文中已经了解了什么是docker,也清楚了docker 端口映射的作用,那么接下来就来看看如何用花生壳来解决docker 端口映射问题吧!
设置端口映射(即虚拟服务器)
(1) 在IE输入http://192.168.1.1, 输入用户名和密码,进入设置界面,点击“进阶设定”-“虚拟服务器”
(2) 添加一条WEB 服务端口映射,直接在最上方那里设置:
(3) 选择激活,名称随便写一个,个人 ip 地址填入你的本机ip,比如你的内网ANYVIEW服务器的ip是192.168.1.2,就填192.168.1.2
(4) 协议模式,选择TCP,当然你选择BOTH/ALL也可以,私有服务端口和公有服务端口都填入ANYVIEW端口:11901-11905(共5个端口,也可以写成5行);含义是:当远程连接访问路由器外部ip地址(比如222.222.222.222)的11901-11905这5个端口时,路由器会自动将对应的请求,通过路由器内网口ip地址192.168.1.1,将请求转发到192.168.1.2
(5) 排程,任何时间。按执行按钮后提示需要重新启动路由器,按重新激活按钮使其生效。
那么,docker 端口映射问题就是通过以上的一系列操作,完美的解决了。可以说花生壳不仅做到数据私有化,而且有着超高的性价比。数据存储在本地,企业可完美掌控,而且花生壳内网穿透永久承诺不作数据留存。作为20年专业内网穿透软件,有多种防护可保障通道安全。花生壳还充分利用了企业现有硬件资源,大幅度降低了服务器升级的支出成本,服务器硬件资源仅需一次投入,即长期可用。