Dockerfile

This commit is contained in:
Quentin McGaw 2020-08-09 17:49:13 -04:00
parent 5e9848dbba
commit 0f3dcfc57a
2 changed files with 41 additions and 0 deletions

11
.dockerignore Normal file
View File

@ -0,0 +1,11 @@
.git
.github
extra
_config.yml
.gitignore
example.json
LICENSE
README.md
/target
**/*.rs.bk
*.vim

30
Dockerfile Normal file
View File

@ -0,0 +1,30 @@
ARG ALPINE_VERSION=3.12
ARG RUST_VERSION=1-alpine${ALPINE_VERSION}
FROM rust:${RUST_VERSION} AS build
WORKDIR /usr/src/prometheus_wireguard_exporter
# Setup
ARG ARCH=x86_64
RUN apk add --update -q --no-cache musl-dev
RUN rustup target add ${ARCH}-unknown-linux-musl
# Install dependencies
COPY Cargo.toml Cargo.lock ./
RUN mkdir src && \
echo "fn main() {}" > src/main.rs
RUN cargo build --release && \
rm -rf target/release/deps/prometheus_wireguard_exporter*
# Build the musl linked binary
COPY . .
RUN cargo build --release
RUN cargo install --target ${ARCH}-unknown-linux-musl --path .
FROM alpine:${ALPINE_VERSION}
EXPOSE 9586/tcp
RUN apk add --update -q --no-cache wireguard-tools-wg
COPY --from=build --chown=1000 /usr/local/cargo/bin/prometheus_wireguard_exporter /usr/local/bin/prometheus_wireguard_exporter
ENTRYPOINT [ "prometheus_wireguard_exporter" ]
CMD [ "-h" ]
USER 1000