zoukankan      html  css  js  c++  java
  • Docker:正常运行的容器突然端口不通一般检查方法

    一般情况下会是以下两个原因

    一.iptables规则被修改过:

    如果是这个原因,我们可以通过重启docker,让iptables转发规则重新生效,一般可以处理
    

    二.系统参数被修改(net.ipv4.ip_forward这个参数被改成0):

        这个内核参数linux系统默认是0,当我们安装docker的时候,会被docker改成1,然后实现端口转发,容器正常运行
    	但是docker只是改了内存,并没有生效到配置文件,所以配置文件里面还是0如下:
    	sysctl -a |grep "ipv4.ip_forward"     =====> net.ipv4.ip_forward = 1
    	cat /etc/sysctl.conf| grep "ipv4.ip_forward"  =====> net.ipv4.ip_forward = 0
    	这种情况下,如果有人更改其他参数,然后通过sysctl -p生效,那么docker改的这个参数会被重新配置为和/etc/sysctl.conf文件
    	里面的一致,导致端口不通,这个时候需要重启docker使其再次改为1。
    	
    	所以我们安装docker的时候需要先设置这个参数为1,在装docker命令如下:
    	sysctl -w net.ipv4.ip_forward=1
    	sed -i "/net.ipv4.ip_forward/ s/0/1/g" /etc/sysctl.conf

    我这次忽然服务器上端口不通的就是因为图上第一行的参数被改成了0,改回1之后,使用 sysctl -p 命令让内核参数修改生效,问题解决。

     


    本博客文章均已测试验证,欢迎评论、交流、点赞。
    部分文章来源于网络,如有侵权请联系删除。
    转载请注明原文链接:https://www.cnblogs.com/sueyyyy/p/15417621.html

  • 相关阅读:
    Windows环境下OpenLDAP安装配置
    jobcenter在Windows下连携LDAP
    OpenLDAP搭建
    Go 函数 #3
    Go 数组/多维数组/切片/map #2
    Go内置类型/变量/常量 #1
    git常用命令
    makefile基础_1
    kubernete的service
    配置开发环境
  • 原文地址:https://www.cnblogs.com/sueyyyy/p/15417621.html
Copyright © 2011-2022 走看看