FROM ubuntu:jammy LABEL maintainer="lxh@cxh.cn" RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone # 安装必要的工具 RUN apt-get update -y && \ apt-get install -y software-properties-common wget unzip git curl vim sudo net-tools # 安装vnc和自动化相关工具 RUN apt-get install -y supervisor xvfb x11vnc fluxbox novnc xdotool # 安装中文字体 RUN apt-get install -y ttf-wqy-microhei locales procps \ && rm -rf /var/lib/apt/lists/* \ && sed -ie 's/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/g' /etc/locale.gen \ && locale-gen # 添加微软雅黑 COPY msyh.ttc /usr/share/fonts/truetype/msyh.ttc COPY msyhbd.ttc /usr/share/fonts/truetype/msyhbd.ttc COPY msyhl.ttc /usr/share/fonts/truetype/msyhl.ttc # 刷新字体缓存 RUN sudo fc-cache -fv # 安装 wine RUN dpkg --add-architecture i386 && \ apt-get full-upgrade -y && \ wget -nc https://dl.winehq.org/wine-builds/winehq.key && \ apt-key add winehq.key && \ apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ jammy main' && \ apt-get update -y && \ apt-get install -y --install-recommends winehq-stable && \ wine --version # 配置运行环境等信息 ENV DISPLAY_WIDTH=1280 \ DISPLAY_HEIGHT=720 \ DISPLAY=:0.0 \ LANG=zh_CN.UTF-8 \ LANGUAGE=zh_CN.UTF-8 \ LC_ALL=zh_CN.UTF-8 \ WINEPREFIX=/home/app/.wine # 复制配置文件 COPY etc/ /etc/ # 创建用户 RUN useradd -m app && usermod -aG sudo app && echo 'app ALL=(ALL) NOPASSWD:ALL' >> //etc/sudoers USER app WORKDIR /home/app # 设置 VNC 密码 RUN mkdir ~/.vnc && x11vnc -storepasswd vncpass ~/.vnc/passwd # 安装wine-mono COPY install-wine-mono.sh ./ RUN bash -c 'sudo -E supervisord -c /etc/supervisord.conf -l /var/log/supervisord.log &' && \ sleep 5 && \ sudo chown -R app:app ./install-*.sh && \ sudo chmod +x ./install-*.sh && \ ./install-wine-mono.sh && \ sudo rm -rf ./install-*.sh COPY entrypoint.sh /entrypoint.sh CMD ["/entrypoint.sh"]