| 2022-09-13
本文主要介绍Docker 给运行中的容器设置端口映射的方法,详细的介绍docker端口映射的概念和方法,具体一定的参考价值,有兴趣的可以了解一下
Docker 端口映射即映射容器内应用的服务端口到本机宿主机器。
docker容器在启动的时候,如果不指定端口映射参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。
亦可使用Dockerfile文件中的EXPOSE指令来配置。
端口映射可使用-p、-P来实现:
-p指定要映射的端口,一个指定端口上只可以绑定一个容器
-P将容器内部开放的网络端口随机映射到宿主机的一个端口上
端口映射支持的格式:
ip:hostport:containerport #指定ip、指定宿主机port、指定容器port
ip::containerport #指定ip、未指定宿主机port(随机)、指定容器port
hostport:containerport #未指定ip、指定宿主机port、指定容器port
一、将容器暴露的所有端口,都随机映射到宿主机上。
例如:(不推荐使用)
docker run -P -it ubuntu /bin/bash
二、将容器指定端口随机映射到宿主机一个端口上。
例如:
docker run -P 80 -it ubuntu /bin/bash
以上指令会将容器的80端口随机映射到宿主机的一个端口上。
三、将容器指定端口指定映射到宿主机的一个端口上。
例如:
docker run -p 8000:80 -it ubuntu /bin/bash
以上指令会将容器的80端口映射到宿主机的8000端口上。
四、将容器ip和端口,随机映射到宿主机上。
docker run -P 192.168.0.100::80 -it ubuntu /bin/bash
以上指令会将容器的ip192.168.0.100和80端口,随机映射到宿主机的一个端口上。
五、将容器ip和端口,指定映射到宿主机上。
docker run -p 192.168.0.100:8000:80 -it ubuntu /bin/bash
以上指令会将容器的ip192.168.0.100和80端口,映射到宿主机的8000端口。
示例:
将nginx的80端口映射到宿主机的800端口上
docker run -d -it -p 800:80 nginx
查看映射端口配置
docker port container_ID #容器ID
结果输出
80/tcp -> 0.0.0.0:800
(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)排程,任何时间。
按执行按钮后提示需要重新启动路由器,按重新激活按钮使其生效。
花生壳是一款内网穿透兼动态域名解析软件。它能够帮助用户将宽带运营商提供的动态IP进行解析,通过固定域名对家里或公司搭建的服务器进行远程访问和远程管理。花生壳可以根据用户的需要,搭建各种不同的服务。而且花生壳端口映射是通过转发服务器进行数据转发实现,速度完全取决于转发服务器网络线路,及转发服务器提供真正带宽大小。花生壳因电脑搭建服务器操作简洁,功能齐全,性能稳定,所以花生壳软件不仅拥有庞大的个人用户群体,而且也深受企业用户的欢迎。