You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以宿主机用户身份在Docker镜像中运行Wine?

Docker中以宿主机用户ID运行Wine时的权限问题

问题场景

我正在尝试在Docker容器中通过Wine运行.exe文件。为了让.exe的输出文件及容器内其他处理生成的文件归属正确,我用以下命令以宿主机系统用户ID运行Docker镜像:

docker run -it -u $(id -u):$(id -g)

但Wine无法运行任何程序,报错提示:

<dir>/.wine does not belong to you

原因是容器及其中所有文件都属于root用户。

我尝试修改WINEPREFIX目录的所有权,但没有效果;尝试将WINEPREFIX设置在宿主机用户和容器root都能访问的位置,却引发了其他问题。

我知道可以不使用宿主机ID运行镜像,但这会在后续流程中产生问题——容器输出的文件仍会属于root用户。

相关Dockerfile(含冗余代码)

FROM ubuntu:20.04

ENV CWD=/workdir
ENV IMAGES=/images
ENV OUTPUT=/output
ENV WINEPREFIX=/workdir/.wine

ARG USER_ID
ARG GROUP_ID

WORKDIR ${CWD}

COPY files/sources.list /etc/apt/sources.list

RUN mkdir ${IMAGES} && \
    mkdir ${OUTPUT} && \
    apt-get update && \
    apt-get install -y --no-install-recommends file \
       p7zip-full \
       wine \
       python3 && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# 尝试添加与宿主机uid/gid一致的用户
RUN groupadd -g ${GROUP_ID} myuser && \
    useradd -l -u ${USER_ID} -g myuser myuser && \
    chown -R -c ${USER_ID}:${GROUP_ID} /workdir
COPY other-files
COPY entrypoint files

ENTRY ["entrypoint.sh"]

构建命令

docker build --build-arg USER_ID=$(id -u) \
    --build-arg GROUP_ID=$(id -g) \
    -t my-tag

chown操作似乎并未将目录所有权修改为指定的ID。

补充解决方案尝试

我甚至尝试在Dockerfile中创建一个独立目录并修改其权限,但同样无效(修改部分已标记为粗体):

FROM ubuntu:20.04

ENV CWD=/workdir
ENV IMAGES=/images
ENV OUTPUT=/output
**ENV WINEPREFIX=/winedir/.wine**

ARG USER_ID
ARG GROUP_ID

WORKDIR ${CWD}

COPY files/sources.list /etc/apt/sources.list

RUN mkdir ${IMAGES} && \
    mkdir ${OUTPUT} && \
    **mkdir /winedir**
    apt-get update && \
    apt-get install -y --no-install-recommends file \
       p7zip-full \
       wine \
       python3 && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# 尝试添加与宿主机uid/gid一致的用户
RUN groupadd -g ${GROUP_ID} myuser && \
    useradd -l -u ${USER_ID} -g myuser myuser && \
    chown -R -c ${USER_ID}:${GROUP_ID} **/winedir**
COPY other-files
COPY entrypoint files

...

内容的提问来源于stack exchange,提问作者stackoverflowuser1234

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 05:37:05