Running APM Server on Dockeredit

Docker images for APM Server are available from the Elastic Docker registry. You can retrieve an image with a docker pull command.

docker pull docker.elastic.co/apm/apm-server:6.3.0

The base image is centos:7 and the source code can be found on GitHub.

Configure APM Server on Dockeredit

The Docker image provides several methods for configuring APM Server. The conventional approach is to provide a configuration file via a bind-mounted volume, but it’s also possible to create a custom image with your configuration included.

Bind-mounted configurationedit

One way to configure APM Server on Docker is to provide apm-server.yml via bind-mounting. With docker run, the bind-mount can be specified like this:

docker run \
  -v ~/apm-server.yml:/usr/share/apm-server/apm-server.yml \
  docker.elastic.co/apm/apm-server:6.3.0
Custom image configurationedit

It’s possible to embed your APM Server configuration in a custom image. Here is an example Dockerfile to achieve this:

FROM docker.elastic.co/apm/apm-server:6.3.0
COPY apm-server.yml /usr/share/apm-server/apm-server.yml
USER root
RUN chown apm-server /usr/share/apm-server/apm-server.yml
USER apm-server