暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

docker开启的服务出现无法被外网访问

不懒壳林 2020-09-21
226

warning ipv4 forwarding is disabled. networking will not work.

  • 起因
    今天早上有个同学找过来问为什么xx平台502了,原谅笔者没有没有对该xx平台配置监控告警,原因是这个平台用户数太少。

  • 进入服务器查询

    1
    2
    3
    4
    5
    6
    7
    8
    1. 查log
    docker logs xx
    2. 无报错log,查nginx》error.lo
    connection timeout...
    3. nginx提示连接超时了,ping服务
    curl -i http://ip:port/api/xx/yy
    4. 给了200的返回码,去外网再ping,
    curl: (7) Failed to connect to ip port: Operation timed out
  • 结论,外网无法连通这个ip和端口

    1
    2
    3
    1. 重启docker container
    sudo docker restart container_name
    WARNING: IPv4 forwarding is disabled. Networking will not work.
  • 开启 ip 转发

    1
    sudo echo net.ipv4.ip_forward=1 >> etc/sysctl.d/enable-ip-forward.conf
  • 重启 network 服务

    1
    sudo systemctl restart network
  • 查看 network 服务

    1
    sudo sysctl net.ipv4.ip_forward

    返回为“net.ipv4.ip_forward = 1”则表示成功了

  • 重启容器

    1
    sudo docker restart container_name
  • 如果还提示上面的ipv4问题

    1
    sudo systemctl restart docker.service
  • 删除容器,再run

    1
    2
    sudo docker rm -f xx
    sudo docker run -d --name xx image_name



最后有个提示:docker的network 能用host就别用bridge


文章转载自不懒壳林,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论