记一次docker |
您所在的位置:网站首页 › 中国十大制药品牌排行 › 记一次docker |
问题主机参数
自建的dell服务器,云服务器一般不会出现这种问题。人都给处理好了。centos8、centos7 均有发生。Linux localhost.localdomain 4.18.0-193.el8.x86_64 #1 SMP Fri May 8 10:59:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linuxdocker版本:1.13 ~ 1.19 均有发生。
均有发生是因为我花了3天时间都一一尝试过了! 问题描述docker端口映射后发现服务器localhost可以正常访问。但局域网内其他主机无法访问。 然后蛋疼的来了: 执行开放防火墙端口操作如下: firewall-cmd --zone=public --add-port=8761/tcp --permanent firewall-cmd --reload 没有任何效果!!真的没有任何效果!依旧是localhost可以正常访问。但局域网内其他主机无法访问。 说的更详细点:我开放的8761端口,只有在本机访问http://127.0.0.1:8761时正常。其他机器无法通过 ip+端口 访问!! . 然而此时端口已经通过docker-compose对外开放!!! docker-compose截取部分配置如下: eureka: image: eureka:latest privileged: true ports: - "8761:8761" networks: uk: ipv4_address: 192.168.45.3 先说解决方案 moby的解决方案原文如下: Replying to my previous comment. The issue was our docker-compose specified another network ie networks: default: Therefore all our containers were not on the docker0 bridge but on a randomly generated bridge. To fix this restructured our docker-compose.yml networks: default: driver_opts: com.docker.network.bridge.name: "dockernet" Next ran firewall-cmd --permanent --zone=trusted --change-interface=dockernet And worked like a charm当然执行前先清理环境。 docker-compose stop docker-compose rm (如果配置了网络的话) docker network list docker network rm xxx解决了。 这是为什么呢??????我的 docker-compose指定了 另一个网络,所以生成的容器都在这个新建的网络上而不是 docker0上。那么让防火墙信任这个新建的网络即可。 参考文档 iptables详解(1):iptables概念iptables命令使用详解 总结只能说我基础不足,恶补了防火墙相关知识。也算有些收获。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |