WARNING: Version 6.0 of Kibana has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Running Kibana on Docker
editRunning Kibana on Docker
editDocker images for Kibana are available from the Elastic Docker registry. The base image is centos:7.
A list of all published Docker images and tags can be found at www.docker.elastic.co. The source code can be found on GitHub.
Image types
editThe images are available in two different configurations or "flavors". The
x-pack
flavor, which is the default, ships with X-Pack features
pre-installed. The oss
flavor does not include X-Pack, and contains only
open source Kibana.
X-Pack is pre-installed in the default image. With X-Pack installed, Kibana expects to connect to an Elasticsearch cluster that is also running X-Pack.
Pulling the image
editObtaining Kibana for Docker is as simple as issuing a docker pull
command
against the Elastic Docker registry.
Docker images can be retrieved with the following commands:
docker pull docker.elastic.co/kibana/kibana:6.0.1 docker pull docker.elastic.co/kibana/kibana-oss:6.0.1
Configuring Kibana on Docker
editThe Docker images provide several methods for configuring Kibana. The
conventional approach is to provide a kibana.yml
file as described in
Configuring Kibana, but it’s also possible to use
environment variables to define settings.
Bind-mounted configuration
editOne way to configure Kibana on Docker is to provide kibana.yml
via bind-mounting.
With docker-compose
, the bind-mount can be specified like this:
version: '2' services: kibana: image: docker.elastic.co/kibana/kibana:6.0.1 volumes: - ./kibana.yml:/usr/share/kibana/config/kibana.yml
Environment variable configuration
editUnder Docker, Kibana can be configured via environment variables. When the container starts, a helper process checks the environment for variables that can be mapped to Kibana command-line arguments.
For compatibility with container orchestration systems, these environment variables are written in all capitals, with underscores as word separators. The helper translates these names to valid Kibana setting names.
Some example translations are shown here:
Table 1. Example Docker Environment Variables
Environment Variable |
Kibana Setting |
|
|
|
|
|
|
In general, any setting listed in Configuring Kibana or X-Pack Settings can be configured with this technique.
These variables can be set with docker-compose
like this:
version: '2' services: kibana: image: docker.elastic.co/kibana/kibana:6.0.1 environment: SERVER_NAME: kibana.example.org ELASTICSEARCH_URL: http://elasticsearch.example.org
Since environment variables are translated to CLI arguments, they take
precedence over settings configured in kibana.yml
.
Docker defaults
editThe following settings have different default values when using the Docker images:
|
|
|
|
|
|
In the x-pack
image, the following additional defaults are also set:
|
|
|
|
|
|
These settings are defined in the default kibana.yml
. They can be overridden
with a custom kibana.yml
or via
environment variables.
If replacing kibana.yml
with a custom version, be sure to copy the
above defaults to the custom file if you want to retain them. If not, they will
be "masked" by the new file.