metricbeat-hpc/Dockerfile

33 lines
1 KiB
Docker

# Step 1: Prepare the build environment
FROM golang:1.16 AS builder
# Define the Metricbeat version as a build argument
ARG VERSION
# Install Git to clone the repository
RUN apt-get update && apt-get install -y git && apt-get clean
# Clone the Elastic Beats repository and switch to the specified version
WORKDIR /go/src/github.com/elastic/beats
RUN git clone https://github.com/elastic/beats.git . && git checkout v${VERSION}
# Compile Metricbeat for the s390x architecture
RUN GOARCH=s390x go build -o metricbeat ./metricbeat
# Step 2: Build the final image
FROM ubuntu:24.04
# Set the working directory
WORKDIR /usr/share/metricbeat
# Copy the Metricbeat binary from the build stage
COPY --from=builder /go/src/github.com/elastic/beats/metricbeat .
# Add a default metricbeat.yml configuration file (customize as needed)
COPY metricbeat.yml /usr/share/metricbeat/metricbeat.yml
# Grant necessary permissions to execute Metricbeat
RUN chmod +x /usr/share/metricbeat/metricbeat
# Define the container's entry point
ENTRYPOINT ["/usr/share/metricbeat/metricbeat"]