forward udp multicast from eth0 to docker0

I have a docker container running a java application which is listening for UDP multicast packets. I am not receiving the packets inside the container, however they appear on the host machine on eth0.

Is there a way for docker to automatically pick up these packets and forward them to the container?

  • DevOps vs Docker
  • Copy files from within a docker container to local machine
  • What is the meaning of “sandbox” in “docker run” command?
  • Running RStudio Shiny as a Docker container on AWS?
  • Jenkins build Docker raise error Unrecognized field “ExecDriver”
  • Docker - `top` like real time metrics in command line
  • Thanks

  • Use fig and docker-machine to deploy remotely
  • AWT error while trying to build Jenkins Docker image based on Alpine -
  • Grafana + InfluxDB configuration
  • Create AWS::ECR::Repository resource by Cloudformation
  • logstash on docker: set multiple pipeline
  • Application logging .net core & docker
  • 2 Solutions collect form web for “forward udp multicast from eth0 to docker0”

    You may want to try --net host as it seems to be the only work around for getting multicast traffic outside of the host to reach the container according to the discussions on #3043.

    After a lot of frustrating days of trying out a number of things… finally something worked:

    Using Pipework (https://github.com/jpetazzo/pipework), the following command worked but there is a catch –

    pipework eth2 $(docker run -d hipache /usr/sbin/hipache) 50.19.169.157/24
    

    running a docker container by only running the above command did not quite help me. I had to run tcpdump -i eth2 on my host to capture packets on eth2 interface, which then started to forward the packets to the docker container.

    Any idea why is worked and not just running the command??

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.