linux docker端口映射无法访问,docker设置了端口映射,不能访问的解决方案

21b50ae70e18503be9689347a7d4412f.png

#docker ps 查看, 所有端口都 做了映射

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

764b158ba491 open-falcon-plus-02:v-daiyi-01 "/bin/bash" 2 days ago Up 3 hours 0.0.0.0:4444->4444/tcp, 0.0.0.0:6030-6031->6030-6031/tcp, 0.0.0.0:6070-6071->6070-6071/tcp, 0.0.0.0:6080-6081->6080-6081/tcp, 0.0.0.0:8080-8081->8080-8081/tcp, 0.0.0.0:8433->8433/tcp, 0.0.0.0:9912->9912/tcp, 0.0.0.0:14444->14444/tcp, 0.0.0.0:16060->16060/tcp, 0.0.0.0:18433->18433/tcp, 8082/tcp open-falcon-plus-daiyi-01

#但是查看日志

tail -40 /home/work/open-falcon/agent/logs/agent.log

test@ubuntu-10:/tmp/bak$ tail -40 /home/work/open-falcon/agent/logs/agent.log

2018/10/14 20:27:09 transfer.go:48: call Transfer.Update fail: &{{2 1} 10.0.10.103:8433 1s} dial tcp 10.0.10.103:8433: getsockopt: connection refused

2018/10/14 20:27:09 var.go:95: <=

2018/10/14 20:27:09 rpc.go:41: dial 10.0.10.103:8433 fail: dial tcp 10.0.10.103:8433: getsockopt: connection refused

2018/10/14 20:27:11 rpc.go:41: dial 10.0.10.103:8433 fail: dial tcp 10.0.10.103:8433: getsockopt: connection refused

2018/10/14 20:27:15 rpc.go:41: dial 10.0.10.103:8433 fail: dial tcp 10.0.10.103:8433: getsockopt: connection refused

2018/10/14 20:27:23 rpc.go:41: dial 10.0.10.103:8433 fail: dial tcp 10.0.10.103:8433: getsockopt: connection refused

2018/10/14 20:27:23 transfer.go:48: call Transfer.Update fail: &{{0 0} 10.0.10.103:8433 1s} dial tcp 10.0.10.103:8433: getsockopt: connection refused

2018/10/14 20:27:23 var.go:95: <=

2018/10/14 20:27:41 var.go:88: =>

2018/10/14 20:27:41 var.go:88: =>

但是无法访问

原因:

docker里面的host不能配置127.0.0.1 或者192.168.0.1 或则宿主机器将无法访问端口

修改配置文件―(涉及到的,需要外部访问的都需要修改)

[root@ubuntu-10 open-falcon]# vim transfer/config/cfg.json

{

"debug": true,

"minStep": 30,

"http": {

"enabled": true,

"listen": "0.0.0.0:6060"

},

"rpc": {

"enabled": true,

"listen": "0.0.0.0:8433" **#此处监听外面8433. 改成0.0.0.0**

},

"socket": {

"enabled": true,

"listen": "0.0.0.0:4444",

"timeout": 3600

},

"judge": {

"enabled": true,

"batch": 200,

"connTimeout": 1000,

"callTimeout": 5000,

"maxConns": 32,

"maxIdle": 32,

"replicas": 500,

"cluster": {

"judge-00" : "127.0.0.1:6080"

}

},

"graph": {

"enabled": true,

"batch": 200,

"connTimeout": 1000,

"callTimeout": 5000,

"maxConns": 32,

"maxIdle": 32,

"replicas": 500,

"cluster": {

"graph-00" : "127.0.0.1:6070"

}

},

"tsdb": {

"enabled": false,

"batch": 200,

"connTimeout": 1000,

"callTimeout": 5000,

"maxConns": 32,

"maxIdle": 32,

"retry": 3,

"address": "127.0.0.1:8088"

}

修改好之后重启 docker里的服务

[root@ubuntu-10 open-falcon]# ./open-falcon restart transfer

再次查看日志

test@ubuntu-10:/tmp/bak$ tail -40 /home/work/open-falcon/agent/logs/agent.log

2018/10/15 02:52:48 var.go:88: =>

2018/10/15 02:52:48 var.go:95: <=

2018/10/15 02:52:48 var.go:88: =>

2018/10/15 02:52:48 var.go:95: <=

2018/10/15 02:52:48 var.go:88: =>

2018/10/15 02:52:48 var.go:95: <= #连接成功,数据传入。

查看端口的连接性

test@ubuntu-10:/tmp/bak$ telnet 10.0.10.103 8433

Trying 10.0.10.103...

Connected to 10.0.10.103.

Escape character is "^]". #这就是ok的

好啦~ 可以连接成功。

补充:docker 镜像启动成功但是无法访问

解决办法:

vi /etc/sysctl.conf 或者

vi /usr/lib/sysctl.d/00-system.conf 添加如下代码:

net.ipv4.ip_forward=1

重启network服务

systemctl restart network 查看是否修改成功

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持云海天教程。如有错误或未考虑完全的地方,望不吝赐教。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值