安全组端口全开放,能ping通,ssh能通,但是访问9090端口不通。
查netstat -aput,发现端口没有运行,
容器查看如下:
[root@VM-16-17-centos ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b9580db27fd7 test/tomcat:1.0 "/bin/sh -c '/usr/lo…" 34 minutes ago Up 34 minutes 0.0.0.0:9090->8080/tcp, :::9090->8080/tcp tomcat01
然后添加内核转发规则,就可以操作了
sysctl -w net.ipv4.ip_forward=1
补充知识点:
sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发、IP碎片去除以及源路由检查等。用户只需要编辑/etc/sysctl.conf文件,即可手工或自动执行由sysctl控制的功能。
命令格式:
sysctl [-n] [-e] -w variable=value
sysctl [-n] [-e] -p <filename> (default /etc/sysctl.conf)
sysctl [-n] [-e] -a
参数
-w 临时改变某个指定参数的值,如
sysctl -w net.ipv4.ip_forward=1
-a 显示所有的系统参数
-p 从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载
常见设置,开启内核端口转发
一、临时生效,重启失效
1、sysctl -w net.ipv4.ip_forward=1
2、echo 1 > /proc/sys/net/ipv4/ip_forward
二、永久生效
修改 /etc/sysctl.conf,增加一条:net.ipv4.ip_forward = 1
要想是更改生效,你需要执行以下指令:
sysctl -p /etc/sysctl.conf
在红帽系列的发行版上可以通过重启网络服务使之生效:
service network restart
而在debian/ubuntu系列的发行版则用这样的命令:
/etc/init.d/procps.sh restart