记一次docker

您所在的位置:网站首页 中国十大制药品牌排行 记一次docker

记一次docker

#记一次docker| 来源: 网络整理| 查看: 265

问题主机参数 自建的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