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"]