elastic / kibana

Your window into the Elastic Stack
https://www.elastic.co/products/kibana
Other
19.76k stars 8.17k forks source link

Unable to run in Windows Container Mode #59604

Closed robearlam closed 2 years ago

robearlam commented 4 years ago

I'm getting an error when attempting to run the ELK stack on Docker in Windows container mode (Using experimental mode to allow running Linux & Windows based containers side-by-side). I'm attempting to work with logs being sent from FileBeat running on Windows based containers.

The Elastic & LogStash containers start successfully, but Kibana instantly exits with the error:

Kibana should not be run as root. Use --allow-root to continue.

ELK Stack version 7.6.0

Docker info output:

Client:
 Debug Mode: false
 Plugins:
  app: Docker Application (Docker Inc., v0.8.0)
  buildx: Build with BuildKit (Docker Inc., v0.3.1-tp-docker)
  mutagen: Synchronize files with Docker Desktop (Docker Inc., testing)

Server:
 Containers: 3
  Running: 1
  Paused: 0
  Stopped: 2
 Images: 3
 Server Version: 19.03.5
 Storage Driver: windowsfilter (windows) lcow (linux)
  Windows:
  LCOW:
 Logging Driver: json-file
 Plugins:
  Volume: local
  Network: ics internal l2bridge l2tunnel nat null overlay private transparent
  Log: awslogs etwlogs fluentd gcplogs gelf json-file local logentries splunk syslog
 Swarm: inactive
 Default Isolation: hyperv
 Kernel Version: 10.0 19569 (19569.1000.amd64fre.rs_prerelease.200214-1419)
 Operating System: Windows 10 Pro Version 2004 (OS Build 19569.1000)
 OSType: windows
 Architecture: x86_64
 CPUs: 16
 Total Memory: 31.94GiB
 Name: Rob-HomePC
 ID: LNOL:XZFS:VHM6:OILB:P6KK:Y7VH:FIPL:IHDM:L5EN:NG7E:SJUN:23OQ
 Docker Root Dir: C:\ProgramData\Docker
 Debug Mode: true
  File Descriptors: -1
  Goroutines: 37
  System Time: 2020-03-07T10:30:10.5562335+11:00
  EventsListeners: 1
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: true
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
 Product License: Community Engine

Steps to reproduce:

  1. Change Docker to run in 'Windows Container Mode'
  2. Enable Experimental mode, my docker Engine settings are set to: { "registry-mirrors": [], "insecure-registries": [], "debug": true, "experimental": true }
  3. Run the following docker-compose file:

    
    version: '2.4'
    services:
    elasticsearch:
        image: docker.elastic.co/elasticsearch/elasticsearch:7.6.0
        container_name: elasticsearch
        environment:
            - node.name=node
            - cluster.name=elasticsearch-default
            - bootstrap.memory_lock=true
            - discovery.type=single-node
            - "ES_JAVA_OPTS=-Xms1g -Xmx1g"
        ports:
            - "9200:9200"
        expose: 
            - "9200"
        networks:
            - "esnet"
        mem_limit: 2gb
    
    kibana:
        image: docker.elastic.co/kibana/kibana:7.6.0
        container_name: kibana
        ports:
            - "5601:5601"
        expose: 
            - "5601"
        networks:
            - "esnet"
        depends_on: 
            - elasticsearch
        mem_limit: 2gb
    
    logstash:
        image: docker.elastic.co/logstash/logstash:7.6.0
        ports:
            - "5000:5000/tcp"
            - "5000:5000/udp"
            - "9600:9600"
        depends_on: 
            - elasticsearch
        networks:
            - "esnet"
        mem_limit: 2gb

networks: esnet:



**Expected behavior:**
Docker should successfully stand up all 3 containers.
elasticmachine commented 4 years ago

Pinging @elastic/kibana-operations (Team:Operations)

bartosz-jarmuz commented 3 years ago

Hello, Are there any workarounds for this?

tylersmalley commented 2 years ago

We don't support Windows container mode and there aren't enough requests for it.