Provide better handling of config files in Docker containers. (#12310)
Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud>
Austin S. Hemmelgarn committed
Mar 24, 2022 at 05:14 UTC
3b586dc08c54bc80e4f18196dfd6dd069de3a5d3
2 files changed
+8
-1
packaging/docker/Dockerfile
+3
-1
@@ -80,6 +80,7 @@ RUN mkdir -p /opt/src /var/log/netdata && \
80
# Add netdata user
81
addgroup -g ${NETDATA_GID} -S "${DOCKER_GRP}" && \
82
adduser -S -H -s /usr/sbin/nologin -u ${NETDATA_GID} -h /etc/netdata -G "${DOCKER_GRP}" "${DOCKER_USR}"
83
+ # Fix handling of config directory
84
85
# Long-term this should leverage BuildKit’s mount option.
86
COPY --from=builder /wheels /wheels
@@ -110,7 +111,8 @@ RUN chown -R root:root \
111
find /var/lib/netdata /var/cache/netdata -type d -exec chmod 0770 {} \; && \
112
find /var/lib/netdata /var/cache/netdata -type f -exec chmod 0660 {} \; && \
113
pip --no-cache-dir install /wheels/* && \
113
- rm -rf /wheels
114
+ rm -rf /wheels && \
115
+ cp -va /etc/netdata /etc/netdata.stock
116
117
ENV NETDATA_LISTENER_PORT 19999
118
EXPOSE $NETDATA_LISTENER_PORT
packaging/docker/run.sh
+5
@@ -44,6 +44,11 @@ if [ -n "${PGID}" ]; then
44
usermod -a -G "${PGID}" "${DOCKER_USR}" || echo >&2 "Could not add netdata user to group docker with ID ${PGID}"
45
fi
46
47
+if mountpoint -q /etc/netdata && [ -z "$(ls -A /etc/netdata)" ]; then
48
+ echo "Copying stock configuration to /etc/netdata"
49
+ cp -a /etc/netdata.stock/. /etc/netdata
50
+fi
51
+
52
if [ -n "${NETDATA_CLAIM_URL}" ] && [ -n "${NETDATA_CLAIM_TOKEN}" ] && [ ! -f /var/lib/netdata/cloud.d/claimed_id ]; then
53
/usr/sbin/netdata-claim.sh -token="${NETDATA_CLAIM_TOKEN}" \
54
-url="${NETDATA_CLAIM_URL}" \