Elk running on docker

Hi
I have created a log analysis environment using elastisearch, kibana and logstash running on docker, but each tool in a container, now I need to put the 3 tools in a single docker container, I have seen the elastic documentation and they are only in separate containers .
thanks you

You will need to build a custom container for that, that's outside the scope of what we can help with here sorry.

Where can I get help?

As you mention we have a container per product and not a monolithic one, so I am not 100% sure on how to go about this myself.

Maybe on a docker forum?

I don't think that's what Docker is supposed to do. You normally run one service per container.

But if you want to start multiple containers all together, I'd look at docker-compose.

Like:

Here is how I'm setting that with docker compose ( docker-compose.yml):

---
version: '3'
services:

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:$ELASTIC_VERSION
    environment:
      - bootstrap.memory_lock=true
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms2g -Xmx2g"
      - ELASTIC_PASSWORD=$ELASTIC_PASSWORD
      - xpack.security.enabled=$ELASTIC_SECURITY
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - 9200:9200
    networks: ['stack']

  kibana:
    image: docker.elastic.co/kibana/kibana:$ELASTIC_VERSION
    environment:
      - ELASTICSEARCH_USERNAME=elastic
      - ELASTICSEARCH_PASSWORD=$ELASTIC_PASSWORD
    ports: ['5601:5601']
    networks: ['stack']
    links: ['elasticsearch']
    depends_on: ['elasticsearch']

networks:
  stack: {}

.env file is:

ELASTIC_VERSION=7.6.0
ELASTIC_SECURITY=true
ELASTIC_PASSWORD=changeme

Yes, it is what I want to do, run all the containers and link them with filebeat, which is the one that collects the logs

Oh, well in that case look at https://github.com/elastic/stack-docker

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.