Docker端口映射实现网络访问 首先,大家如果看到有什么不懂的地方,欢迎吐槽!!!...当容器中运行一些网络应用,要让外部访问这些应用时,可以通过-P或-p参数指定端口映射。...先来说说p和P吧 -p 可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器 -P 它会随机映射一个端口至容器内部开放的网络端口(范围不详,似乎都上万) ---- 先申明一下,我这边 client...192.168.0.216:5000/tomcat docker ps -a | egrep "(80|8080)" 三、映射到指定地址的指定端口 将容器的80 port映射到192.168.0.225...udp端口 这里且不说能不能访问,只是一种映射方式。
这几天在公司的路由器上做了Aliddns,对公司的内部网络的一些服务映射到公网,在家里就可以访问到公司的一些服务。...出现了一个问题:在外网利用域名+端口号可以正常访问到公司的服务,在公司内网的时候访问却没办法利用域名访问,只能用IP才能访问到相关服务 找了一些资料,总结原因如下: 例:在公司内网访问: 访问者:...代号A 被访问者:代号B 路由器:代号R 由于在做DDNS时,在路由器上会把B绑定为公网IP,所以在访问者A访问域名时,解析出来的公网IP,这时候发送的包: 源地址为:A的内网IP,目的地址为:...,所以A认为这是一个错误的包,于是A就把包丢弃,继续等待公网IP回应的包,直到等待超时, 在B上,也一直等待A回应的TCP包,直到等待超时 如下图: 由于TCP三次握手没有完成,所以内网通过域名访问不到内网资源
域名解析 需求 现有两个二级域名nginx.huangminhang.cn 和 api.huangminhang.cn,现在需要把nginx.huangminhang.cn"映射"到80端口,api.huangminhang.cn..."映射"82端口 开始 因为域名解析默认的都是80端口,所以要实现实现需求,只能在Nginx上,将对应的域名转到指定的端口 修改Nginx配置 server {
接着往下看吧 端口映射 刚刚我们说到了内外网IP,又说到了关于远控不能上线的问题,这里举个例子 例子:我们可以把局域网比喻成一栋公寓楼,公寓楼名字叫做:Xcnte公寓 楼下售房处就是网关,再把网吧机子(...局域网内内网IP)比喻成我们租的一其中一间房,房号是73 而世界上有无数个房号为73的房子,但是我们的Xcnte公寓只有一个,而这个公寓地址就是我们的外网IP地址 这个比喻来简单解释一下端口映射 每一台网吧的机子都有他的独立内网...IP 每个公寓房间都有自己的房号 网吧机子的内网端口是独享的 每个套间都有它自己的阳台 局域网的网关地址 公寓售房处 端口映射有什么用?...而肉鸡寻找服务器的过程是这样的: 肉鸡找到找到外网IP后问:请问8080端口在哪? 网关:我并不知道知道你说的8080端口谁!...而端口映射的作用:将外网主机的IP地址的一个端口映射到内网中一台机器,提供相应的服务 当用户访问该IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上 在上面这个情况作了端口映射之后对话是这样的
为什么要端口映射? 在启动容器时,如果不配置宿主机器与虚拟机的端口映射,外部程序是无法访问虚拟机的,因为没有端口。 端口映射的指令是什么?...ip::containerPort:映射指定地址的任意端口到虚拟机的指定端口。(不常用) 如:127.0.0.1::3306,映射本机的3306端口到虚拟机的3306端口。...hostPort:containerPort:映射本机的指定端口到虚拟机的指定端口。(常用) 如:3306:3306,映射本机的3306端口到虚拟机的3306端口。 如何查看是否映射成功?...出现0.0.0.0:3306->3306/tcp表示宿主机的3306端口映射到了虚拟机的3306端口。 也可以使用docker port NAME查看端口映射情况。...表示虚拟机的3306端口映射到了主机的3306端口。 如果没有任何回复,表示端口映射失败。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
接着往下看吧 ---- 端口映射 刚刚我们说到了内外网IP,又说到了关于远控不能上线的问题。这里小编举个例子。...接下来我们用这个比喻来简单解释一下端口映射 每一台网吧的机子都有他的独立内网IP 每个公寓房间都有自己的房号 网吧机子的内网端口是独享的 每个套间都有它自己的阳台 局域网的网关地址 公寓售房处 端口映射有什么用...而肉鸡寻找服务器的过程是这样的: 肉鸡找到找到外网IP后问:请问8080端口在哪? 网关:我并不知道知道你说的8080端口谁!...而端口映射的作用:将外网主机的IP地址的一个端口映射到内网中一台机器,提供相应的服务。当用户访问该IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。...在上面这个情况作了端口映射之后对话是这样的。 肉鸡:请问8080端口在哪?
内网映射外网工具——ngrok 通过这个我们可以把本机的localhost:端口号映射成为一个外网地址 例如:我们平时启动服务器(如tomcat),然后localhost:8080/项目地址这种方式去本地访问...,项目无法运行在本机之外的电脑上,但我们通过这个外网映射工具后就可以把网址发给别来进行远程访问 废话不多说直接上步骤: 1、首先下载ngrok,去百度搜索下载就好了,解压 (https://ngrok.com.../download) 2、然后cmd到解压目录下(你的目录在哪你就进哪 cd C:\Users\yuqing.wu\Desktop\ngrok 3、根据你想要映射的端口号,一般如映射tomcat的8080...端口 继续在cmd控制台输入命令行 ngrok -configngrok.cfg -subdomain john 8080 注:其中john是自己取的,随意就行,8080是你想映射的端口号 我们可以看到...127.0.0.1:8080端口(本地) 映射成了john.tunnel.qydev.com 4、当我们启动tomcat服务器后(默认8080端口) 不用通过localhost:8080/项目 去访问项目了
场景介绍 在部署 DevOps 环境时,多个服务通过 Docker 部署到一个服务器上,映射到不同的端口。 现在每次访问,都要带上端口号,既不美观,也很麻烦。...一、思考过程 如果不想带上端口号,就只能访问 80 或 443 端口。 可以用过二级目录区分服务,通过反向代理转发到不同的 Server。...可以用过子域名区分服务,通过反向代理转发到不同的 Server。 二、方案评估 对于不带端口号访问,以我目前的经验来看,找不到其它更好的方法,只能使用 80 或 443 端口。...可是和直接使用端口号差别不大,只是把辨别服务的方法,从端口号变成了二级目录名。 可能导致 url 过长。 还是没有什么美观性。 使用子域名区分服务,可行性与二级目录相差无几。...能通过子域名,明确区分服务。 具有一定的美观性。 三、方案确定 和 方案设计 我决定采用采用 子域名区分服务 的方式,然后使用 nginx 做反向代理,分发到不同的端口。 1.
5671/tcp, 15691-15692/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp, :::15672->15672/tcp rabbitmq 二、防火墙放开端口
在开发的时候常常需要把自己的demo部署到外网测设,或向他人展示自己的成果。...今天介绍一个简便的外网映射工具ngrok,利用ngrok把自己的主机映射到公网上,其他人可以通过公网访问本地的主机上的服务器。...打开CMD,进入ngrok目录下,输入命令:ngrok -config=ngrok.cfg -subdomain minionscoding 8080 小黄人把本地8080(服务器tomcat所占用的端口...)端口映射到外网 ?...对比以下两图,通过本地访问和通过映射成的公网URL访问效果是一样的 ? ? 又get到新技能,快快试一试,和小伙伴分享你自己的应用吧
Holer是一个将局域网中的应用映射到公网访问的端口映射软件,支持转发基于TCP协议的报文。 [示意图] 2....Tomcat默认端口8080为例,选择表中的第一条映射进行配置;如果Web服务端的端口是80或者8088,请选择相匹配的端口映射,其他TCP端口映射步骤类似,更多的使用示例请参考官方文档。...6060、600以及端口映射规则所涉及的端口; (6) 建议申请域名并且完成域名备案,并设置域名泛解析(*.域名)和直接解析主域名(@.域名),如果没有域名可以直接使用IP和端口访问。...2.2.3 创建端口映射 2.2.3.1 登录holer管理系统 如果配置文件application.yaml中设置了域名,并且指定了Nginx主目录,则在浏览器输入URL http://holer.your-domain.com...] 在端口映射页面中为该holer客户端创建端口映射 http://holer.your-domain.com/view/holer-port.html [Holer Port] 在数据统计页面中查看报表信息
三、配置静态路由 目的地址配置为0.0.0.0/0,即任意地址;出接口选择Wan0/0/0,下一跳地址为电信运营商提供的网关地址 四、配置NAT,使内网计算机能够访问互联网 配置服务器映射,即端口映射...,使得外网能访问内网服务器 名称:随意填写,但是最好有一定意义,以便于识别;公网地址:电信运营商提供的IP地址;私网地址:即内网的服务器;协议:根据需要选择,此处选择TCP,公网接口:在外网开放给用户的端口...,为安全起见,最好不要和内网真正使用的端口相同;私网接口:内网服务器真正使用的服务端口 配置完成后,可以在外网,用telnet命令检测,映射是否生效: telnet 电信运营商IP 公网端口号 如果有反应...,就表示配置成功,如果连接失败,那么需要在内网执行命令 telnet 内网服务器IP 私网端口号 如果有反应,就表示端口服务正常工作中,那么前面在外网连接失败,要从防火墙上找原因;如果连接失败,那么需要检查服务器上的相关服务是否已启动...其实要解决这个问题,也不难,就是在代码中抛弃IP地址,改为绑定域名:在外网,只要在域名注册商的DNS管理后台,写一条A记录,指向电信运营商给的公网IP地址就可以了;同样道理,在内网,就在自己的DNS服务器上
1. hosts 文件介绍 ---- hosts 文件是一个没有扩展名的系统文件,用来设置域名和 IP 的映射关系。...当本机访问域名时,首先会从这个文件找相应的记录,如果找到则马上打开相应的记录;如果没有找到就走 DNS 公网解析来打开网页,所以说一个加速访问及本地开发绑定域名的好方法 2. hosts 文件位置 --
MySQL容器暴露了3306端口,集群内其他容器通过33306端口访问MySQL服务,但是外部流量不能访问MySQL服务,因为MySQL服务没有配置NodePort。...(最终的流量端口)。...制作容器时暴露的端口一致(使用DockerFile中的EXPOSE),例如官方的Nginx(参考DockerFile)暴露80端口。...hostPort是直接将容器的端口与所调度的节点上的端口路由,这样用户就可以通过宿主机的IP加上端口来访问Pod了,例如: apiVersion: v1 kind: Pod metadata: name...使用了hostPort的容器只能调度到端口不冲突的Node上,除非有必要(比如运行一些系统级的daemon服务),不建议使用端口映射功能。
域名已经解析到了服务器外网IP了 连接到 www.txzkrj.icu 时发生错误。...域名已经解析到了服务器外网IP了 连接到 www.txzkrj.icu 时发生错误。...域名已经解析到了服务器外网IP了
fatedier/frp 五、http://ngrok.ittun.com/ 显示reconnecting,应该也不可用了 六、http://ngrok.ciqiuwl.cn/ 这个可以用,可以成功映射...,默认80端口,可以自己修改端口号 1,下载windows版本的客户端,解压到你喜欢的目录 2,在命令行下进入到ngrok客户端目录下 3,执行 ngrok -config=ngrok.cfg -subdomain...xxx 80 //(xxx 是你自定义的域名前缀) 4,如果开启成功 你就可以使用 xxx.ngrok.xiaomiqiu.cn 来访问你本机的 127.0.0.1:80 的服务啦 七、如此方法
一、nginx 域名绑定 域名 nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里...一、每个域名一个文件的写法 首先打开nginx域名配置文件存放目录:/usr/local/nginx/conf/servers ,如要绑定域名www.itblood.com 则在此目录建一个文件...nginx服务器重起命令:/etc/init.d/nginx restart 二、一个文件多个域名的写法 一个文件添加多个域名的规则也是一样,只要把上面单个域名重复写下来就ok了,如: server{...端口 server { listen 80; server_name taqing.me www.taqing.me; ##,绑定域名 location / {...proxy_pass http://127.0.0.1:8000; ## 指定端口号 8000 }
端口是什么,我们在之前的文章里已经做了解释,请看《轻松理解网络端口是什么》,端口转发和端口映射都是为了解决内网主机的端口无法在外部直接访问而衍生出来的技术,通过中间服务器进行中转,将内部的端口映射到公网...端口映射 顾名思义,就是映射端口,就是将一个内网端口映射到公网上的某个端口,我们来看一个实例,我自己的电脑是在内网中,没有公网 IP,但是我想提供一个端口供其他人使用,怎么办呢?我们来看一个图: ?...上图的 C 就是有公网 IP 的中间服务器,我们可以将 A 的 80 端口映射到 C 的 80 端口,这时,B 就可以访问 C 的 80 端口,也就相当于访问 A 的 80 端口了,这里其实核心原理也是端口转发...总结 端口转发和端口映射的核心原理是一样的,只不过是使用的场景不一样,我们将本机的端口转发到远程某个端口,我们可以叫端口映射,也可以叫端口转发;我们如果把本机可以访问到的任意 IP 的端口转发到另外一台服务器的端口...说起来有点绕,其实具体如何理解,什么样的叫法,最终是要在实际的场景中使用的,能够解决你的问题就可以了,也不用纠结到底叫什么,这里没有提到端口转发和映射的工具,如有需要请看之前发布的文章:原创 穿越边界的姿势
containerPort 这个字段用于规范化声明容器对外暴露的端口,但这个端口并不是容器映射到主机的端口,它是一个声明式的字段,属于容器端口规范。...对于 docker,我们要映射端口时,可以使用 docker ......由于 Pod 中的 nginx 访问端口是 80,我们想在外网中访问时使用 6666 端口,则命令如下; kubectl expose deployment nginx --port=6666 --target-port...,会自动为此对象中的 Pod 创建端口映射。...此方式只能映射本地端口,如 127.0.0.1,不能通过外网访问。 原本只能通过 具体的 Pod IP 才能访问 Pod,现在在服务器上通过 127.0.0.1 也可以直接访问服务。
在Linux系统中,端口映射通常可以通过iptables命令来实现。以下是一个示例,展示如何将本地的102端口映射到远程主机192.168.1.10的102端口。...然后,使用以下命令进行端口映射: iptables -t nat -A PREROUTING -p tcp --dport 102 -j DNAT --to-destination 192.168.1.10...:102 iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.10 --dport 102 -j MASQUERADE 第一条命令将所有到达本机102端口的...TCP流量重定向到192.168.1.10的102端口。...完成这些步骤后,尝试连接到本地的102端口,流量应该会被转发到192.168.1.10的102端口。 请注意,这些更改在重启后不会保留。
领取专属 10元无门槛券
手把手带您无忧上云