fix: qlc could not create temp files in docker container (#12875)
qlc uses file_sorter that puts temporary files in the working
directory by default, which is not writable by emqx user since
58d0f04056
.
One of the consequences is that users cannot access retained messages
from the dashboard, but there are likely other issues as well.
This patch fixes this by making /opt/emqx directory owned by emqx:emqx.
This commit is contained in:
parent
a0ffe5e7ae
commit
d82f7c3f71
|
@ -47,18 +47,19 @@ ENV LC_ALL=C.UTF-8
|
||||||
ENV LANG=C.UTF-8
|
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/
|
|
||||||
|
|
||||||
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/*; \
|
rm -rf /var/lib/apt/lists/*; \
|
||||||
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;
|
||||||
mkdir -p /opt/emqx/log /opt/emqx/data /opt/emqx/plugins; \
|
|
||||||
chown -R emqx:emqx /opt/emqx/log /opt/emqx/data /opt/emqx/plugins
|
COPY --from=builder --chown=emqx:emqx /emqx-rel /opt/
|
||||||
|
|
||||||
|
RUN set -eu; \
|
||||||
|
find /opt/emqx -name 'swagger*.js.map' -exec rm {} +; \
|
||||||
|
ln -s /opt/emqx/bin/* /usr/local/bin/;
|
||||||
|
|
||||||
WORKDIR /opt/emqx
|
WORKDIR /opt/emqx
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue