Docker Community Forums

Share and learn in the Docker community.

Kitematic not picking up all container startups


(Alexandre) #1

Expected behavior

Kitematic should properly detect containers without requiring a restart.

In this example, I started 5 containers (one is expected to quit):

Actual behavior

After a docker-compose up, I see only two containers listed by Kitematic.

docker-compose up -d wj-logs-elasticsearch wj-logs-logstash wj-logs-kibana wj-logs-proxyelk

If I restart Kitematic, everything is okay (I will get the Expected behavior image listing all 5 containers).

Information

Pinata:

pinata diagnose -u
OS X: version 10.11.5 (build: 15F34)
Docker.app: version v1.11.1-beta13.1
Running diagnostic tests:
[OK]      Moby booted
[OK]      driver.amd64-linux
[OK]      vmnetd
[OK]      osxfs
[OK]      db
[OK]      slirp
[OK]      menubar
[OK]      environment
[OK]      Docker
[OK]      VT-x
Docker logs are being collected into /tmp/20160602-102936.tar.gz
Most specific failure is: No error was detected

Mac OS X 10.11.5 on an early 2015 model.

docker-compose.yml:

version: '2'
services:
## infrastructure-logging components
  wj-logs-elasticdata:
    image: elasticsearch:1.7.0
    container_name: wj-logs-elasticdata
    volumes:
     - logs_elasticsearch-data:/var/lib/elasticsearch/data
     - logs_elasticsearch-logs:/var/lib/elasticsearch/logs
    command: chown elasticsearch:elasticsearch /var/lib/elasticsearch/logs /var/lib/elasticsearch/data

  wj-logs-elasticsearch:
    image: elasticsearch:1.7.0
    container_name: wj-logs-elasticsearch
    volumes_from:
     - wj-logs-elasticdata
    volumes:
     - ../elk/es-conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
    ports:
     - "9200:9200"
    networks:
     - default

  wj-logs-logstash:
    image: logstash:1.5.3
    container_name: wj-logs-logstash
    ports:
     - "5000:5000/udp"
    volumes:
     - ../elk/logstash-conf:/opt/logstash/conf.d
    command: -f /opt/logstash/conf.d/logstash.conf
    networks:
     - default

  wj-logs-kibana:
    image: kibana:4.1.1
    container_name: wj-logs-kibana
    environment:
     - ELASTICSEARCH_URL=http://wj-logs-elasticsearch:9200
    expose:
     - "5601"
    depends_on:
     - wj-logs-elasticsearch
     - wj-logs-logstash
    networks:
     - default

  wj-logs-proxyelk:
    image: nginx:1.9.3
    container_name: wj-logs-proxyelk
    ports:
     - "5600:5600"
    volumes:
     - ../elk/proxy-conf:/etc/nginx/conf.d
    depends_on:
     - wj-logs-kibana
    networks:
     - default

volumes:
  logs_elasticsearch-data:
  logs_elasticsearch-logs:

networks:
  default:

Note: to get your hands on the mounted files, see this tutorial on how to manage logs in Docker with an ELK stack.

Steps to reproduce the behavior

  1. Stop all containers
  2. Start Kitematic (the containers list should be empty)
  3. Issue docker-compose up -d wj-logs-elasticsearch wj-logs-logstash wj-logs-kibana wj-logs-proxyelk
  4. Watch Kitematic containers list get partialy refreshed