aws-build-push-ecr-Dockerfile

Build and push Alertmanager Docker image to Amazon ECR. This Dockerfile automates the process, simplifying deployment.

Dockerfile for Alertmanager

This Dockerfile describes the process of building and pushing an Alertmanager image to Amazon ECR.

It uses a multi-stage build to reduce the final image size.

FROM alpine as builder

ARG ALERTMANAGER_VERSION
ENV VERSION=$ALERTMANAGER_VERSION

WORKDIR /tmp
ADD https://github.com/prometheus/alertmanager/releases/download/v0.24.0/alertmanager-0.24.0.linux-amd64.tar.gz /tmp/alertmanager-0.24.0.linux-amd64.tar.gz
RUN tar -xf alertmanager-0.24.0.linux-amd64.tar.gz

FROM alpine
COPY --from=builder   /tmp/alertmanager-0.24.0.linux-amd64/alertmanager /bin/alertmanager
COPY --from=builder   /tmp/alertmanager-0.24.0.linux-amd64/amtool /bin/amtool
COPY --from=builder   /tmp/alertmanager-0.24.0.linux-amd64/alertmanager.yml /etc/alertmanager/alertmanager.yml
COPY config/alertmanager.yml /etc/alertmanager/alertmanager.yml
COPY bin/promboot.sh      /bin/promboot.sh

RUN chmod +x /bin/promboot.sh && mkdir -p /alertmanager && \
    chown -R nobody:nogroup /etc/alertmanager /alertmanager

ARG GIT_COMMIT
LABEL git-ref=$CI_COMMIT_SHA

USER       nobody
EXPOSE     9093
VOLUME     [ "/alertmanager" ]
WORKDIR    /alertmanager
CMD        [ "/bin/promboot.sh" ]

Further Configuration

For detailed configuration options, refer to the official Alertmanager documentation:

Deployment to AWS

After building the image, you can push it to Amazon ECR using the AWS CLI.

Troubleshooting

If you encounter issues, check the logs for more details.