@cryptotaxi247 / netdata-1 / commits / ba08a3d13

Added new simpler (Alpine based) Dockerfile for quick dev and testing (#7914)

James Mills committed Feb 4, 2020 at 07:08 UTC ba08a3d130f1ab3fda00e2b38fb7c9d18d24c250
1 file changed +69
Dockerfile new
+69
@@ -0,0 +1,69 @@
1 +# TODO: Create a netdata/package-builder:alpine9
2 +#FROM netdata/package-buidler:alpine AS build
3 +FROM alpine:3.9 AS build
4 +
5 +# Install Dependencies
6 +RUN apk add --no-cache -U alpine-sdk bash curl libuv-dev zlib-dev \
7 + util-linux-dev libmnl-dev gcc make git autoconf \
8 + automake pkgconfig python logrotate
9 +
10 +# Pass optional ./netdata-installer.sh args with --build-arg INSTALLER_ARGS=...
11 +ARG INSTALLER_ARGS=""
12 +
13 +# Copy Sources
14 +# Can also bind-mount sources with:
15 +# $ docker run -v $PWD:/netdata
16 +
17 +WORKDIR /netdata
18 +COPY . .
19 +
20 +# Build
21 +RUN ./netdata-installer.sh --dont-wait --dont-start-it --disable-go "${INSTALLER_ARGS}"
22 +
23 +FROM alpine:3.9 AS runtime
24 +
25 +# Install runtime dependeices
26 +RUN apk --no-cache -U add curl bash libuv zlib util-linux libmnl python
27 +
28 +# Create netdata user/group
29 +RUN addgroup -S netdata && \
30 + adduser -D -S -h /var/empty -s /bin/false -G netdata netdata
31 +
32 +# Copy binary from build layer
33 +COPY --from=build /usr/sbin/netdata /usr/sbin/netdata
34 +
35 +# Copy configuration files from build layer
36 +COPY --from=build /etc/netdata/ /etc/netdata/
37 +COPY --from=build /usr/lib/netdata/ /usr/lib/netdata/
38 +
39 +# Copy assets from build layer
40 +COPY --from=build /usr/share/netdata/ /usr/share/netdata/
41 +
42 +# Create some directories netdata needs
43 +RUN mkdir -p \
44 + /etc/netdata \
45 + /var/log/netdata \
46 + /var/lib/netdata \
47 + /var/cache/netdata \
48 + /usr/lib/netdata/conf.d \
49 + /usr/libexec/netdata/plugins.d
50 +
51 +# Fix permissions/ownerships
52 +RUN chown -R netdata:netdata \
53 + /etc/netdata/ \
54 + /usr/lib/netdata/ \
55 + /usr/share/netdata/ \
56 + /var/log/netdata \
57 + /var/lib/netdata \
58 + /var/cache/netdata \
59 + /usr/libexec/netdata
60 +
61 +VOLUME /etc/netdata
62 +VOLUME /var/lib/netdata
63 +VOLUME /var/log/netdata
64 +
65 +EXPOSE 19999/tcp
66 +
67 +USER netdata
68 +
69 +CMD ["/usr/sbin/netdata", "-D"]