cadvisor/Dockerfile

48 lines
1.8 KiB
Text
Raw Normal View History

2021-02-09 22:07:34 +00:00
ARG ARCH
# STEP 1 build executable binary
2021-02-18 17:00:29 +00:00
FROM amd64/golang:1.16.0-alpine3.13@sha256:b1e28e654c9517047fa3b2d6993047fc8a8fe3360d6707bb201a86fca73c270f AS builder-amd64
FROM arm32v7/golang:1.16.0-alpine3.13@sha256:977d60bfdf4cfd2c18701418f01a4e4d4d0f4a7bb4f6388897c21293b999370c AS builder-arm
FROM arm64v8/golang:1.16.0-alpine3.13@sha256:a23dc7ff6fb9b0fa3017035404b0abea819801b6bf0eb08667b3a549d3d17dbd AS builder-arm64
2021-02-09 22:07:34 +00:00
FROM builder-${ARCH} AS builder
ENV CADVISOR_VERSION="v0.37.5"
2021-02-09 22:07:34 +00:00
WORKDIR $GOPATH/src/github.com/google/cadvisor
RUN apk upgrade --no-cache && apk add \
libc6-compat="1.2.2-r0" \
device-mapper="2.02.187-r1" \
findutils="4.8.0-r0" \
zfs="2.0.1-r0" \
build-base="0.5-r2" \
linux-headers="5.7.8-r0" \
bash="5.1.0-r0" \
git="2.30.1-r0" \
wget="1.21.1-r1" \
curl="7.74.0-r0" \
tar="1.33-r1" && \
curl -L "https://github.com/google/cadvisor/archive/${CADVISOR_VERSION}.tar.gz" | tar xvz --strip 1 && \
./build/build.sh
# STEP 2 build the image including only the binary
2021-02-18 17:00:29 +00:00
FROM amd64/alpine:3.13.2@sha256:4661fb57f7890b9145907a1fe2555091d333ff3d28db86c3bb906f6a2be93c87 AS base-amd64
FROM arm32v7/alpine:3.13.2@sha256:db5f021b29ec8fcf605f00d2aac06345756b0ffbdea0e7994044fe9172619a0a AS base-arm
FROM arm64v8/alpine:3.13.2@sha256:c45a1db6e04b73aad9e06b08f2de11ce8e92d894141b2e801615fa7a8f68314a AS base-arm64
2021-02-09 22:07:34 +00:00
FROM base-${ARCH}
RUN apk upgrade --no-cache && apk add \
libc6-compat="1.2.2-r0" \
device-mapper="2.02.187-r1" \
findutils="4.8.0-r0" \
zfs="2.0.1-r0" && \
rm -rf /var/cache/apk/*
COPY --from=builder /go/src/github.com/google/cadvisor/cadvisor /usr/bin/cadvisor
EXPOSE 8080
HEALTHCHECK --interval=30s --timeout=3s CMD wget --quiet --tries=1 --spider http://127.0.0.1:8080/healthz || exit 1
ENTRYPOINT ["/usr/bin/cadvisor", "-logtostderr"]