0


docker端口映射详解(随机端口、指定IP端口、随意ip指定端口、指定ip随机端口)

docker端口映射详解

一、端口映射概述:

    在Docker中容器默认是无法与外部通信的,需要在启动命令中加入对应的参数才允许容器与外界通信。

    当Docker中运行一个Web服务时,需要把容器内的Web服务应用程序端口映射到本地宿主机的端口。这样,用户访问宿主机指定的端口的话,就相当于访问容器内部的Web服务端口。

二、案例实验:

1、-P选项,随机端口

使用-P选项时Docker会随机映射一个端口至容器内部的开放端口

[root@docker ~]# docker run -d -P --name nginx-test1 nginx

使用docker port可以查看端口映射情况

[root@docker ~]# docker port nginx-test1

访问测试:192.168.100.131:32768

[root@docker ~]# docker logs nginx-test1

查看映射的随机端口范围

[root@docker ~]#

cat /proc/sys/net/ipv4/ip_local_port_range

2、使用-p可以指定要映射到的本地端口。

Local_Port:Container_Port,任意地址的指定端口

    端口映射参数中指定了宿主机的8000映射到容器内部的80端口,可以多次使用-p选项

[root@docker ~]# docker run -d -p 8000:80 --name nginx-test2 nginx

访问测试:192.168.100.131:8000

    这种方式会映射到所有接口地址,所有访客都可以通过宿主机所有IP的端口来访问容器。

如下:查看宿主机当前的ip地址

访问测试:192.168.59.153:8000

****Local_IP:Local_Port:Container_Port ****映射到指定地址的指定端口

[root@docker ~]# docker run -d -p

192.168.100.131:9000:80 --name nginx-test3 nginx

访问测试:192.168.100.131:9000

访问测试:192.168.59.153:9000

****Local_IP::Container_Port ****映射到指定地址,但是宿主机端口是随机分配的

[root@docker ~]# docker run -d -p 192.168.100.131::80 --name nginx-test4 nginx

[root@docker ~]# docker port nginx-test4

访问测试:192.168.100.131:32770

3、指定传输协议:TCP

[root@docker ~]# docker run -d -p 80:80/tcp --name nginx-test5 nginx

[root@docker ~]# docker port nginx-test5

访问测试:192.168.100.131:80

标签: docker 容器 运维

本文转载自: https://blog.csdn.net/2302_77582029/article/details/132106326
版权归原作者 人间打气筒(Ada) 所有, 如有侵权,请联系我们删除。

“docker端口映射详解(随机端口、指定IP端口、随意ip指定端口、指定ip随机端口)”的评论:

还没有评论