A year or so late, but I was using this helpful thread to get graylog working in docker. For future readers: I ended up publishing the ports in the docker-compose file, and it worked, no problem. It was correctly published. I am on ubuntu and I did NOT have to download kitematic. After publishing ports in the docker-compose file it showed up as 0.0.0.0:(number) => number/tcp, and ended up working.
On Thursday, December 15, 2016 at 5:21:30 PM UTC+2, Mike Norris wrote: > > I finally got this to work, here are my tips > > NB: MY CHALLENGE WAS THAT I AM WORKING WITH GRAYLOG IN A DOCKER CONTAINER > > 1. Download and install and use Kitematic, rather than trying to use > docker run -p to faffa about with port nos > 2. User Kitematic to map the ports allocated within the docker container > to be usable to the outside world > > I found it much easier to use kitematic to expose ports like 12201 which > is used by GELF; rather than using the docker command line > > So having exposed port 12201 in the docker container via Kitematic to > localhost, now I can run some programs that log messages to Graylog via GELF > - in this screenshot there are 3 x containers running, in reverse order we > have mongo db, elastic search and top of the list graylog > - graylog has been changed to allow requests sent to localhost:12202 to be > processed, without this mod, graylog will not listen on port 12201 for your > request > > [image: pasted1] > > > On Wed, Dec 7, 2016 at 5:21 PM Mike Norris <[email protected] > <javascript:>> wrote: > >> Jochen >> >> Interesting tip but still not working ;-( >> >> I have tried to allow http://10.0.75.1 to respond to client request >> running on my machine >> >> I want to achive the following >> >> send GELF HHTP requests from my windows machine running Powershell into >> Graylog running inside a Docker environment >> >> 10.0.75.1 is the IP address of the docker system as we know from ipconfig >> /all >> >> I've tried my best to add OR expose ports 12201 and 12202 >> >> a. I want to run HTTP GELF on port 12201 and allow the outside world (i.e >> my laptop which is running docker and the container) to send GELF POSTS to >> 10.0.51.1:12202 .. or .. 127.0.0.1:12201 >> b. I want to also try TCP GELF on port 12202 >> >> nb: I did this by entering ................... docker run -p >> 127.0.0.1:12201:12201 graylog2/server >> >> The docker run -p produces a shed load of messages on the console, tons !! >> - which made me think it had failed >> - but docker ps shows the following >> >> CONTAINER ID IMAGE COMMAND CREATED >> STATUS PORTS >> NAMES >> 7d81b1f47a9d graylog2/server "/docker-entrypoint.s" 6 seconds >> ago Up 4 seconds 9000/tcp, 12900/tcp, 0.0.0.0:12201->12001/tcp >> small_curie >> a3492b1cf60a graylog2/server "/docker-entrypoint.s" 18 minutes >> ago Up 18 minutes 9000/tcp, 12900/tcp, 0.0.0.0:12202->12002/tcp >> peaceful_einstein >> ebdef3e02b89 graylog2/server "/docker-entrypoint.s" 31 minutes >> ago Up 31 minutes 0.0.0.0:9000->9000/tcp, 12900/tcp >> gigantic_jennings >> dd421c87f1f5 elasticsearch:2 "/docker-entrypoint.s" 5 days ago >> Up 7 hours 9200/tcp, 9300/tcp >> some-elasticsearch >> 2a466a04134c mongo:3 "/entrypoint.sh mongo" 5 days ago >> Up 7 hours 27017/tcp >> some-mongo >> >> It looks like I have port 12201 accessible ?? >> >> BUT ... I still can''t get a successful send of a single message via GELF >> HTTP or GELF TCP >> >> I get The underlying connection was closed: The connection was closed >> unexpectedly. >> >> I've tried every variation of docker run --expose and docker run -p I can >> think of >> >> It's so frustrating but I cannot get GELF HTTP or TCP to work >> >> Publish or expose port (-p, –expose)¶ >> <https://docs.docker.com/engine/reference/commandline/run/#/publish-or-expose-port--p---expose%23publish-or-expose-port--p---expose> >> >> $ docker run -p 127.0.0.1:80:8080 ubuntu bash >> >> This binds port 8080 of the container to port 80 on 127.0.0.1 of the >> host machine. The Docker User Guide >> <https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/> >> explains in detail how to manipulate ports in Docker. >> >> $ docker run --expose 80 ubuntu bash >> >> This exposes port 80 of the container without publishing the port to the >> host system’s interfaces. >> >> On Wed, Dec 7, 2016 at 8:21 AM Jochen Schalanda <[email protected] >> <javascript:>> wrote: >> >>> Hi Mike, >>> >>> keep in mind that you need to expose each port explicitly in Docker, see >>> https://docs.docker.com/engine/reference/commandline/port/ and >>> https://docs.docker.com/engine/reference/commandline/run/#/publish-or-expose-port--p---expose >>> . >>> >>> Cheers, >>> Jochen >>> >>> On Tuesday, 6 December 2016 21:58:12 UTC+1, Mike Norris wrote: >>>> >>>> Jochen >>>> >>>> Thanks for this suggestion, but it still isn't working >>>> >>>> I ran ipconfig /all on my windows box via the command line >>>> and got IP address 10.0.75.1 for my Docker container (see below) >>>> >>>> I tried using 10.0.75.1 as the bind address in Graylog inputs, this >>>> failed to start up, so I reset it to 0.0.0.0 >>>> - this 0.0.0.0 setting allows the GELF HTTP input listener to start >>>> successfully, 10.0.75.1 will not >>>> >>>> Then I entered 10.0.75.1:9000 in my browser and the Graylog login page >>>> appeared >>>> >>>> Then I tried to send a HTTP Post with JSON body to address >>>> 10.0.75.1:12201, as still get the same old error >>>> e.g. Invoke-WebRequest : Unable to connect to the remote server >>>> >>>> If I enter http://10.0.75.1:12201/gelf in my browser I also get the >>>> same kind of error >>>> >>>> IS it possible that the /gelf part of the URL is wrong? at a basic >>>> level the browser will display a login page for http://10.0.75.1:900 >>>> >>>> I believe 10.0.75.1 is reachable but :12202 or /gelf is not ?? >>>> >>>> I remain confused by GELF over HTTP, its not https is it ??? >>>> >>>> Mike >>>> >>>> --- output from ipconfig /all) >>>> *Ethernet adapter vEthernet (DockerNAT):* >>>> >>>> * Connection-specific DNS Suffix . :* >>>> * Description . . . . . . . . . . . : Hyper-V Virtual Ethernet >>>> Adapter* >>>> * Physical Address. . . . . . . . . : 00-15-5D-15-4C-00* >>>> * DHCP Enabled. . . . . . . . . . . : No* >>>> * Autoconfiguration Enabled . . . . : Yes* >>>> * IPv4 Address. . . . . . . . . . . : 10.0.75.1(Preferred)* >>>> * Subnet Mask . . . . . . . . . . . : 255.255.255.0* >>>> >>>>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "Graylog Users" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/graylog2/J7Ja2RGzE_4/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected] <javascript:>. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/graylog2/68539b75-8ed5-4cc1-80cf-85093daae690%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/graylog2/68539b75-8ed5-4cc1-80cf-85093daae690%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- You received this message because you are subscribed to the Google Groups "Graylog Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/graylog2/23450862-53b0-40c7-8869-e18a32690fc5%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
