QStandardPaths:运行时目录“/tmp”不属于UID 1000,而是由docker容器中的UID 0 GID 0拥有的目录权限0777

问题描述 投票:0回答:1

当我在容器中安装 wkhtmltopdf 时出现此错误。
这是我的 Dockerfile 的一部分

ENV XDG_RUNTIME_DIR=/tmp

RUN python3.9 -m venv /py && \
    ...
    apk add wkhtmltopdf && \
    ...
    adduser --disabled-password --no-create-home ozangue && \
    ...

ENV PATH="/scripts:/py/bin:$PATH"

USER ozangue

当我尝试添加以下行时:

chown -R ozangue:ozangue /tmp && \
chmod -R 755 /tmp

错误消息发生变化。我得到:

wkhtmltopdf exited with non-zero code -11. error:
Unknown Error

当我像这样更改权限时:

chmod -R 7777 /tmp

我总是收到先前的错误消息:

wkhtmltopdf exited with non-zero code -11. error:
    Unknown Error

需要帮助请

linux docker permissions
1个回答
0
投票

你为什么要搞乱

/tmp
的权限和所有权?您应该通过以下方式将它们重置为正确的设置:

chown root:root /tmp
chmod 1777 /tmp

它们这样设置是有原因的。

它允许任何用户在其中创建文件或目录,并确保只有所有者(或根)才能删除它们。

© www.soinside.com 2019 - 2024. All rights reserved.