youtubebeat/vendor/github.com/elastic/beats/libbeat/docs/shared-docker.asciidoc

92 lines
3 KiB
Plaintext

[[running-on-docker]]
=== Running {beatname_uc} on Docker
Docker images for {beatname_uc} are available from the Elastic Docker
registry. The base image is https://hub.docker.com/_/centos/[centos:7].
A list of all published Docker images and tags is available at
https://www.docker.elastic.co[www.docker.elastic.co]. The source code is in
{dockergithub}[GitHub].
These images are free to use under the Elastic license. They contain open source
and free commercial features and access to paid commercial features.
{xpack-ref}/license-management.html[Start a 30-day trial] to try out all of the
paid commercial features. See the
https://www.elastic.co/subscriptions[Subscriptions] page for information about
Elastic license levels.
==== Pulling the image
Obtaining Beats for Docker is as simple as issuing a +docker pull+ command
against the Elastic Docker registry.
ifeval::["{release-state}"=="unreleased"]
However, version {stack-version} of {beatname_uc} has not yet been
released, so no Docker image is currently available for this version.
endif::[]
ifeval::["{release-state}"!="unreleased"]
["source", "sh", subs="attributes"]
------------------------------------------------
docker pull {dockerimage}
------------------------------------------------
Alternatively, you can download other Docker images that contain only features
available under the Apache 2.0 license. To download the images, go to
https://www.docker.elastic.co[www.docker.elastic.co].
endif::[]
[float]
==== Configure {beatname_uc} on Docker
The Docker image provides several methods for configuring {beatname_uc}. The
conventional approach is to provide a configuration file via a bind mount, but
it's also possible to create a custom image with your
configuration included.
[float]
===== Bind-mounted configuration
One way to configure {beatname_uc} on Docker is to provide +{beatname_lc}.yml+ via a bind mount.
With +docker run+, the bind mount can be specified like this:
["source", "sh", subs="attributes"]
--------------------------------------------
docker run \
--mount type=bind,source="$(pwd)"/{beatname_lc}.yml,target=/usr/share/{beatname_lc}/{beatname_lc}.yml \
{dockerimage}
--------------------------------------------
[float]
===== Custom image configuration
It's possible to embed your {beatname_uc} configuration in a custom image.
Here is an example Dockerfile to achieve this:
ifeval::["{beatname_lc}"!="auditbeat"]
["source", "dockerfile", subs="attributes"]
--------------------------------------------
FROM {dockerimage}
COPY {beatname_lc}.yml /usr/share/{beatname_lc}/{beatname_lc}.yml
USER root
RUN chown root:{beatname_lc} /usr/share/{beatname_lc}/{beatname_lc}.yml
USER {beatname_lc}
--------------------------------------------
endif::[]
ifeval::["{beatname_lc}"=="auditbeat"]
["source", "dockerfile", subs="attributes"]
--------------------------------------------
FROM {dockerimage}
COPY {beatname_lc}.yml /usr/share/{beatname_lc}/{beatname_lc}.yml
--------------------------------------------
endif::[]