Graylog Docker Setup Issues

Description of your problem

Just trying to run this with my volume mapped to a local share that has permission UID and GID set to user 1100. When I docker run the image, it will generate these 3 errors in the log:

Error1:
Couldn’t load configuration: Properties file /user/share/graylog/data/config/graylog.conf
Error2:
Error StatusLogger File not found in file system or classpath: /usr/share/graylog/data/config/log4j2.xml
Error3:
Error StatusLogger Reconfiguration failed: No configuration found for ?? at null in null

the mapped folder that I have on the docker host does create empty folders: config, content packs, journal, log, plugin

I am running this docker run command:

docker run
–name graylog1
-v /usr/local/etc/graylog1:/usr/share/graylog/data
–link es1
–link es2
–link es3
–link mongo1
-e GRAYLOG_HTTP_EXTERNAL_URI=“http://172.16.15.47:9000/
-p 9000:9000
-p 12201:12201/udp
–network graylog
–restart=unless-stopped
-d graylog/graylog:4.1.3

Description of steps you’ve taken to attempt to solve the issue

I have tried to ensure the permission are correct

Environmental information

Ubuntu

Operating system information

  • RHEL
  • CentOS
  • Ubuntu
  • Debian
  • Containers (e.g., Docker, Kubernetes, etc.)
  • FreeBSD
  • Windows
  • Other (e.g., using config management like Chef, Puppet, Ansible or Salt to deploy Graylog)

Package versions

  • Graylog
  • MongoDB
  • Elasticsearch
  • Service logs, configuration, and environment variables
  • See the docs site for all file locations

NOTE: For all container-based deployments, please include your full, redacted YAML configuration file

NOTE: When posting log output or code snippets (e.g., JSON, YAML, etc.), please surround your code with three backticks like so:

```
 Your code goes here
```

For longer code or configuration bits, please enclose your snippet in a summary block like this:

Summary of your code snippet or config here
Your code goes inside the triple backticks

Hello && Welcome

I’m not familiar with Docker but I might be able to help.

Need to ask you a couple questions.

  • What documentation did you use to install Graylog Docker?
  • What is your environmental information, like is this a virtual machine, is your firewall enable, etc…

NOTE: Feel free to remove any unwanted titles in your post that does not pertain to your issue.
Thank you.

I’ve been testing Docker in my lab using Graylog Documentation

What I found to be helpful was this.

Choose the -v or --mount flag

So docker works great but what does not work is where the documentation says you can reference any config variables via docker run or docker compose. The only think you need to do is prefix with GRAYLOG_

When I set all my config variables like this, it will cause the above error.

Hi,

looking at the first error I would assume that your local folder (at your host) is empty. You need some files on your local host, at least graylog.conf ( and I think log4j2.xml and node-id ).
Just start your docker environment without the mapping, copy these files from inside the docker to you host and stop your docker environment.
Now you can move these three files to your local folder /usr/local/etc/graylog1 and start your environment like you wrote in your first post.

1 Like