docker端口不通怎么办

藏色散人
藏色散人 原创
2021-12-31 11:21:29 5328浏览

docker端口不通的解决办法:1、打开命令窗口;2、执行“sysctl -w net.ipv4.ip_forward=1 sed -i "/net.ipv4.ip_forward/ s/0/1/g"/etc/sysctl.conf”命令。

本教程操作环境:ubuntu 16.04系统、Docker 20.10.11版、Dell G3电脑。

docker端口不通怎么办?

Docker:正常运行的容器突然端口不通一般检查方法:

前提:一般情况下,我们运行的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

总结

其实说这么多就是重启iptables,重启docker,就可以解决基本问题了,哈哈,说了些废话,但是希望可以和大家分享下

推荐学习:《docker视频教程

以上就是docker端口不通怎么办的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。