在 Docker 上运行 APM Server编辑

APM Server 的 Docker 镜像可从 Elastic Docker 仓库获取。基本镜像是 ubuntu:22.04

所有已发布的 Docker 镜像和标签的列表可在 www.docker.elastic.co 上找到。

这些镜像在 Elastic 许可下免费使用。它们包含开源和免费的商业功能以及对付费商业功能的访问。 开始 30 天试用 以尝试所有付费商业功能。有关 Elastic 许可级别的信息,请参见 订阅 页面。

拉取镜像编辑

获取 Docker 版 APM Server 就像对 Elastic Docker 仓库发出 docker pull 命令一样简单,然后可以选择验证镜像。

  1. 拉取 Docker 镜像

    docker pull docker.elastic.co/apm/apm-server:8.14.2
  2. 验证 Docker 镜像

    wget https://artifacts.elastic.co/cosign.pub
    cosign verify --key cosign.pub docker.elastic.co/apm/apm-server:8.14.2

    cosign 命令以 JSON 格式打印检查结果和签名有效负载

    Verification for docker.elastic.co/apm/apm-server:8.14.2 --
    The following checks were performed on each of these signatures:
      - The cosign claims were validated
      - Existence of the claims in the transparency log was verified offline
      - The signatures were verified against the specified public key
在 Docker 上配置 APM Server编辑

Docker 镜像提供了多种配置 APM Server 的方法。传统方法是通过卷挂载提供配置文件,但也可以创建包含配置的自定义镜像。

示例配置文件编辑

下载此示例配置文件作为起点

curl -L -O https://raw.githubusercontent.com/elastic/apm-server/8.14/apm-server.docker.yml
卷挂载配置编辑

在 Docker 上配置 APM Server 的一种方法是通过卷挂载提供 apm-server.docker.yml。使用 docker run,卷挂载可以这样指定。

docker run -d \
  -p 8200:8200 \
  --name=apm-server \
  --user=apm-server \
  --volume="$(pwd)/apm-server.docker.yml:/usr/share/apm-server/apm-server.yml:ro" \
  docker.elastic.co/apm/apm-server:8.14.2 \
  --strict.perms=false -e \
  -E output.elasticsearch.hosts=["elasticsearch:9200"]  

替换您的 Elasticsearch 主机和端口。

如果您使用的是 Elastic Cloud 中的托管 Elasticsearch 服务,请使用前面显示的语法将 -E output.elasticsearch.hosts 行替换为 Cloud ID 和 elastic 密码。

自定义您的配置编辑

之前下载的 apm-server.docker.yml 应该根据您的环境进行自定义。有关更多详细信息,请参见 配置。编辑配置文件并将其自定义以匹配您的环境,然后重新部署您的 APM Server 容器。

自定义镜像配置编辑

可以将您的 APM Server 配置嵌入到自定义镜像中。以下是一个实现此目的的 Dockerfile 示例

FROM docker.elastic.co/apm/apm-server:8.14.2
COPY --chmod=0644 --chown=1000:1000 apm-server.yml /usr/share/apm-server/apm-server.yml