【问题标题】:Cannot connect localhost Evebox on docker无法在 docker 上连接本地主机 Evebox
【发布时间】:2020-03-04 02:32:01
【问题描述】:

我使用 docker-compose 启动 Evebox,但无法在 localhost:5636 上连接。

我的 docker-compose 文件的一部分:


evebox:
   image: jasonish/evebox:master
   volumes:
     - /var/log/suricata:/var/log/suricata
   links:
     - elasticsearch
   networks:
     - elk
   ports:
     - 5636:5636
   command: --input /var/log/suricata/eve.json -e http://192.168.32.15:9200


 elasticsearch:
   image: docker.elastic.co/elasticsearch/elasticsearch:6.3.1
   container_name: elasticsearch8
   environment:
     - cluster.name=docker-cluster
     - bootstrap.memory_lock=true
     - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
     - "http.cors.enabled:true"
     - "http.cors.allow-origin:\"*\""
   ulimits:
     memlock:
       soft: -1
       hard: -1
   ports:
     - 9200:9200
   networks:
     - elk
   restart: always
networks:
 elk:

我无法在 localhost:5636 上连接 Evebox,但是当我使用 docker exec -it 2c50f02b7385 /bin/sh 进入 docker 容器时可以连接它。

我该如何解决?

【问题讨论】:

  • 这听起来像是容器内进程监听localhost 而不是0.0.0.0 的症状。它在启动时是否会在其日志中打印出一些信息,例如“正在侦听 localhost:5636”?您能否包含开始侦听网络连接的应用程序源代码的实际部分?
  • 是的,我检查了 Evebox docker 容器中的日志,它确实打印出“Listening on [127.0.0.1]:5636”。我可以修改 Evebox docker 容器中的源代码吗?
  • 如果我修改docker容器中的源代码真的有用吗?
  • 您必须更改应用程序的源代码来解决此问题并运行docker build 以获取新图像,然后重新运行docker-compose up 命令。一旦容器被删除并重新创建,您对容器内的文件所做的任何更改都会丢失。
  • @cyberlinlin,在您的docker-compose 文件中看起来像一些格式问题,我正在尝试重现问题但出现错误:yaml.parser.ParserError: while parsing a block mapping in "./docker- compose.yml”,第 1 行,第 1 列应为 ,但在“./docker-compose.yml”中找到“”,第 14 行,第 2 列错误

标签: docker elasticsearch docker-compose suricata


【解决方案1】:

尝试添加:

expose:
  -"5636"

在你的配置中,像这样!

evebox:
   image: jasonish/evebox:master
   volumes:
     - /var/log/suricata:/var/log/suricata
   links:
     - elasticsearch
   networks:
     - elk
   ports:
     - 5636:5636
   expose:
     - "5636"
   command: --input /var/log/suricata/eve.json -e http://192.168.32.15:9200

【讨论】:

  • 感谢您的回复!但它仍然不起作用:(
【解决方案2】:

EveBox,从 0.11 开始默认绑定到 localhost 而不是 0.0.0.0。在 Docker 内部运行时,您需要为其绑定一个主机,以便从 docker 映像外部访问它。这可以通过--host 参数来完成。

例如:

   command: --input /var/log/suricata/eve.json --host 0.0.0.0 -e http://192.168.32.15:9200

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-30
    • 2012-03-22
    • 2020-09-04
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 2016-01-01
    相关资源
    最近更新 更多