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

 更新时间:2021年03月23日 16:51:19   作者:木叶之秋  
这篇文章主要介绍了docker设置了端口映射,不能访问的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

#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} <nil> 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: <= <Total=0, Invalid:0, Latency=0ms, Message:>
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} <nil> 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: <= <Total=0, Invalid:0, Latency=0ms, Message:>
2018/10/14 20:27:41 var.go:88: => <Total=92> <Endpoint:ubuntu, Metric:agent.alive, Type:GAUGE, Tags:, Step:60, Time:1539574061, Value:1>
2018/10/14 20:27:41 var.go:88: => <Total=5> <Endpoint:ubuntu, Metric:df.bytes.free.percent, Type:GAUGE, Tags:mount=/,fstype=ext4, Step:60, Time:1539574061, Value:67.01861018345224>

但是无法访问

原因:

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: => <Total=1> <Endpoint:test-endpoint, Metric:test-metric-97, Type:GAUGE, Tags:idc=lgi-test,loc=beijing-test, Step:20, Time:1539597168, Value:33>
2018/10/15 02:52:48 var.go:95: <= <Total=1, Invalid:0, Latency=0ms, Message:ok>
2018/10/15 02:52:48 var.go:88: => <Total=1> <Endpoint:test-endpoint, Metric:test-metric-97, Type:GAUGE, Tags:idc=lgi-test,loc=beijing-test, Step:20, Time:1539597168, Value:33>
2018/10/15 02:52:48 var.go:95: <= <Total=1, Invalid:0, Latency=0ms, Message:ok>
2018/10/15 02:52:48 var.go:88: => <Total=1> <Endpoint:test-endpoint, Metric:test-metric-97, Type:GAUGE, Tags:idc=lgi-test,loc=beijing-test, Step:20, Time:1539597168, Value:33>
2018/10/15 02:52:48 var.go:95: <= <Total=1, Invalid:0, Latency=0ms, Message:ok> #连接成功,数据传入。

查看端口的连接性

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”则表示成功了

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

相关文章

  • Docker容器中Mysql数据的导入/导出详解

    Docker容器中Mysql数据的导入/导出详解

    服务器在使用了 Docker 后,对于备份和恢复数据库的事情做下记录,下面这篇文章主要给大家介绍了Docker容器中Mysql数据导入/导出的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-09-09
  • docker容器启动后如何修改或添加端口

    docker容器启动后如何修改或添加端口

    这篇文章主要介绍了docker容器启动后如何修改或添加端口问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • Windows Server 2012 R2 安装 Docker的详细步骤

    Windows Server 2012 R2 安装 Docker的详细步骤

    这篇文章主要介绍了Windows Server 2012 R2 安装 Docker,在这个给大家说明下使用windows10、Windows Server 2016以上系统可直接使用安装包,低版本系统需要使用 Docker Toolbox 来进行安装使用 Docker,需要的朋友可以参考下
    2022-04-04
  • Docker使用阿里加速器安装centos教程

    Docker使用阿里加速器安装centos教程

    这篇文章主要介绍了Docker使用阿里加速器安装centos教程,需要的朋友可以参考下
    2017-04-04
  • Linux下Docker及portainer相关配置方法

    Linux下Docker及portainer相关配置方法

    本文以CentOS 7为例,安装docker CE版本,docker有两种版本,社区版本CE和企业版本EE,通过实例代码给大家介绍了Linux下Docker及portainer相关配置方法,感兴趣的朋友跟随小编一起看看吧
    2019-06-06
  • 树莓派系列之使用docker安装青龙面板和改端口号的配置问题

    树莓派系列之使用docker安装青龙面板和改端口号的配置问题

    这篇文章主要介绍了树莓派系列之使用docker安装青龙面板和改端口号的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • docker-compose基于MySQL8部署项目的实现

    docker-compose基于MySQL8部署项目的实现

    这篇文章主要介绍了docker-compose基于MySQL8部署项目的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 删除docker images中为none的镜像操作

    删除docker images中为none的镜像操作

    这篇文章主要介绍了删除docker images中为none的镜像操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • SpringCloud与Docker的集成原理解析

    SpringCloud与Docker的集成原理解析

    Docker的核心原理是通过将应用程序及其所有依赖项封装到独立的容器中,实现了跨平台、一致性和可移植性,这篇文章主要介绍了SpringCloud-Docker原理解析,需要的朋友可以参考下
    2024-02-02
  • docker run -v 挂载数据卷异常,容器状态一直是restarting的解决

    docker run -v 挂载数据卷异常,容器状态一直是restarting的解决

    这篇文章主要介绍了docker run -v 挂载数据卷异常,容器状态一直是restarting的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论