build(docker): optimize docker image layers

chown only mutable state directories
This commit is contained in:
Ivan Dyachkov 2024-03-18 13:57:45 +01:00
parent f4e20f8fc9
commit 58d0f04056
1 changed files with 6 additions and 7 deletions

View File

@ -49,19 +49,18 @@ ENV LANG=C.UTF-8
COPY deploy/docker/docker-entrypoint.sh /usr/bin/ COPY deploy/docker/docker-entrypoint.sh /usr/bin/
COPY --from=builder /emqx-rel /opt/ COPY --from=builder /emqx-rel /opt/
WORKDIR /opt/emqx
RUN set -eu; \ RUN set -eu; \
apt-get update; \ apt-get update; \
apt-get install -y --no-install-recommends ca-certificates procps $(echo "${EXTRA_DEPS}" | tr ',' ' '); \ apt-get install -y --no-install-recommends ca-certificates procps $(echo "${EXTRA_DEPS}" | tr ',' ' '); \
rm -rf /var/lib/apt/lists/*; \
find /opt/emqx -name 'swagger*.js.map' -exec rm {} +; \ find /opt/emqx -name 'swagger*.js.map' -exec rm {} +; \
ln -s /opt/emqx/bin/* /usr/local/bin/; \
groupadd -r -g 1000 emqx; \ groupadd -r -g 1000 emqx; \
useradd -r -m -u 1000 -g emqx emqx; \ useradd -r -m -u 1000 -g emqx emqx; \
chgrp -Rf emqx /opt/emqx; \ mkdir -p /opt/emqx/log /opt/emqx/data /opt/emqx/plugins; \
chmod -Rf g+w /opt/emqx; \ chown -R emqx:emqx /opt/emqx/log /opt/emqx/data /opt/emqx/plugins
chown -Rf emqx /opt/emqx; \
ln -s /opt/emqx/bin/* /usr/local/bin/; \ WORKDIR /opt/emqx
rm -rf /var/lib/apt/lists/*
USER emqx USER emqx