网络访问和端口映射
本机的容器地址如下
docker0:172.17.0.1 jumpserver:172.17.0.2 nginx:172.17.0.3
指定映射
docker 会自动添加一条iptables规则来实现端口映射
-p hostPort:containerPort(宿主机端口:容器端口)
任意宿主机的IP地址访问80端口都可以访问到容器的80端口业务
-p ip:hostPort:containerPort 多个容器都想使用80端口(宿主机的多个IP地址使用80端口访问业务)
我直接设置添加一个子网卡IP地址,如图所示:
同端口不通IP地址创建两个容器
查看端口状态存在10和11的80端口
区分不通业务,进入容器修改html文件
浏览器访问10和11地址的页面展示效果区分
-p ip::containerPort(随机端口)
创建容器生成随机端口49153和49153,IP是宿主机的地址
访问网址http://192.168.111.10:49154/正常
查询随机端口得使用范围:因为系统内核定义的随机端口是32768-60999。所以端口是49154
-p hostPort:containerPort:udp
默认都是tcp协议,可以指定其他协议
宿主机的端口和协议udp映射到容器的端口的udp协议
-p 192.168.111.10::53:udp
使用宿主机得192.168.111.10这个ip地址的随机端口的udp协议映射到容器的53端口的协议udp
-p 81:80 –p 443:443 可以指定多个-p
随机映射
docker run -P (随机端口)
查看随机端口49153