发布到docker中的logstash udp

我一直在这个苦苦挣扎了一段时间,我还没有能够使它的工作,我使用docker麋鹿图像启动麋鹿在容器中,我传递configuration值麋鹿,我看到它在里面工作容器,但消息没有得到他们。 这是我正在使用的configuration:

version: '3' services: elk: image: sebp/elk ports: - '9200:9200' - '9300:9300' - '5601:5601' - '4560:4560' - '4560:4560/udp' - '9600:9600' volumes: - './logstashconfig/logstash.conf:/etc/logstash/conf.d/logstash.conf' 

这是configuration文件:

 input { udp { port => 4560 codec => plain { charset => "UTF-8" } type => "log4net" } } 

我可以看到它的工作日志:

 UDP listener started {:address=>"0.0.0.0:4560", :receive_buffer_bytes=>"106496", :queue_size=>"2000"} 

但是当我发布日志到那个端口,他们没有到达,我testing了我的C#控制台程序与udp监听器和日志正在发布,任何方式这是我用于log4net的configuration:

 <appender name="UdpAppender" type="log4net.Appender.UdpAppender"> <localPort value="4560" /> <remoteAddress value="192.168.1.93" /> <remotePort value="4560" /> <layout type="log4net.Layout.PatternLayout, log4net"> <conversionPattern value="%-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> 

我也用这个其他docker-compose.yml尝试过单个图像,但没有运气:

 version: '3' services: elasticsearch: image: elasticsearch ports: - '9200:9200' - '9300:9300' command: - -Ehttp.cors.enabled=true - -Ehttp.cors.allow-origin=* - -Ehttp.cors.allow-methods=POST - -Ehttp.cors.allow-headers=Access-Control-Allow-Origin,Content-Type logstash: image: logstash ports: - '4560:4560' - '4560:4560/udp' - '9600:9600' command: # - -f logstashconfig/logstash.conf - -e - 'input { udp { port => 4560 type => "log4net" } } output { elasticsearch { hosts => ["elasticsearch:9200"] } }' links: - elasticsearch kibana: image: kibana ports: - '5601:5601' links: - elasticsearch 

我想不知怎么,我没有公开端口,但我一直没能find问题,我在Windows 10上运行docker。