docker使用-p参数映射端口失败
现象使用docker -p 参数将容器的端口映射到宿主机上。如:docker run -d -p 30080:80 nginx:latest可以看到宿主机上的端口已经映射完成了,也启动了。root@workstation:~# netstat -tulpn|grep 30080tcp600 :::30080:::*LISTEN31189/docker-proxy但是通过.
·
现象
使用docker -p 参数将容器的端口映射到宿主机上。如:
docker run -d -p 30080:80 nginx:latest
可以看到宿主机上的端口已经映射完成了,也启动了。
root@workstation:~# netstat -tulpn|grep 30080
tcp6 0 0 :::30080 :::* LISTEN 31189/docker-proxy
但是通过curl 127.0.0.1:30080会报错,telnet 127.0.0.1 30080也没有反应。
问题解决
docker安装以后会虚拟出来一个docker0的网卡,CentOS 7.2重启以后这个网卡的模式有点问题,需要将docker0设置为混杂模式,命令如下:
ifconfig docker0 promisc
检查混杂模式是否设置成功 , <UP,BROADCAST,PROMISC,MULTICAST>
root@workstation:~# ifconfig docker0
docker0: flags=4355<UP,BROADCAST,PROMISC,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
inet6 fe80::42:52ff:fe10:1151 prefixlen 64 scopeid 0x20<link>
ether 02:42:52:10:11:51 txqueuelen 0 (以太网)
RX packets 1424 bytes 211672 (211.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1685 bytes 9343004 (9.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
更多推荐
已为社区贡献1条内容
所有评论(0)