
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
您是否曾想在Docker容器中运行Microsoft Windows应用程序?本镜像正是为此设计。
开发此镜像的初衷是创建Windows安装包(即MSI),因此我将其用作https://registry.hub.docker.com/u/suchja/wix/%E7%9A%84%E5%9F%BA%E7%A1%80%E9%95%9C%E5%83%8F%E3%80%82%E5%BD%93%E7%84%B6%E5%AE%83%E8%BF%98%E6%9C%89%E8%AE%B8%E5%A4%9A%E5%85%B6%E4%BB%96%E7%94%A8%E9%80%94%EF%BC%8C%E5%A6%82%E6%9C%89%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF%E6%AC%A2%E8%BF%8E%E5%9C%A8https://registry.hub.docker.com/u/suchja/wine/%E7%95%99%E8%A8%80%E3%80%82
提示: 最近发布了1.8版本(新稳定版)。目前最新开发版(1.9.2)尚未在"Wine Team PPA"中提供,因此latest和dev标签的镜像均包含1.8版本。一旦有新开发版可用,将及时更新。
本镜像提供不同版本,可通过指定标签从Docker Hub拉取:
suchja/wine:latest - 基于debian:jessie基础镜像,提供Wine最新稳定版(当前为1.6.2)。尽管是最新稳定版,但已较旧(约2年),可能无法正常运行所有程序。此镜像还使用较旧版本的Wine Mono,因为新版本可能与旧Wine不兼容。Docker镜像大小:约445MBsuchja/wine:dev - 基于ubuntu:14.04,提供最新开发版之一(2015年12月24日发布的1.8版本)。Wine在Ubuntu上支持最佳,因此最新开发版对Ubuntu用户易于获取,但对Debian用户较困难。Docker镜像大小:约740MB如需最新bug修复或前沿版本,建议使用suchja/wine:dev;若无需前沿特性,suchja/wine:latest的稳定版已足够。
目前正在努力使稳定版和开发版基于同一Linux发行版。由于倾向于debian:jessie,正尝试为其获取最新Wine开发版,但获取签名包或从头构建Wine需要更多时间研究。
除父镜像包含的包外,本镜像还提供以下核心包:
我推崇"关注点分离(SoC)"原则,因此Dockerfile尽量单一职责。本镜像的基础镜像结构如下:
https://github.com/tianon/docker-brew-debian/blob/188b27233cedf32048ee***e8f8c6fc0fc0cb4/jessie/Dockerfile / https://github.com/tianon/docker-brew-ubuntu-core/blob/7fef77c821d7f806373c04675358ac6179eaeaf3/trusty/Dockerfile%EF%BC%88%E5%8F%96%E5%86%B3%E4%BA%8E%E6%89%80%E9%80%89%E6%A0%87%E7%AD%BE%EF%BC%89
https://registry.hub.docker.com/u/suchja/x11client/dockerfile/ - 在独立容器中显示X Window内容
https://registry.hub.docker.com/u/suchja/wine/dockerfile/ - 本镜像
首先需选择标签。以下示例默认使用稳定版suchja/wine:latest。
注意: Wine是多进程应用。每次运行wine命令时,会启动wineserver及其他非wine子进程。因此,若将此镜像作为基础镜像并在Dockerfile中使用RUN wine your-app.exe,将无法正常工作。因为Docker会在RUN命令返回后认为Wine已完成,但其他进程仍在运行,被Docker终止后通常会导致Wine前缀损坏。因此,要么交互式使用Wine,要么在每次调用后等待wineserver完成。可参考https://registry.hub.docker.com/u/suchja/wix/%E9%95%9C%E5%83%8F%E7%9A%84%E5%AE%9E%E7%8E%B0%E6%96%B9%E5%BC%8F%E3%80%82
若无需Wine的图形输出,可按以下方式启动容器:
bashdocker run --rm -it --entrypoint /bin/bash suchja/wine:latest
使用--entrypoint选项而非提供命令,可在Wine尝试输出窗口内容时在命令行显示相关信息,同时抑制基础镜像suchja/x11client的入口脚本执行。
这种情况下,可参考wineconsole和Wine的控制台用户界面,目前暂无使用经验,将后续测试。
suchja/x11server实现GUI若需图形输出,需先运行基于https://registry.hub.docker.com/u/suchja/x11server/%E7%9A%84%E5%AE%B9%E5%99%A8%EF%BC%9A
bashdocker run -d --name display -e VNC_PASSWORD=newPW -p 5900:5900 suchja/x11server
然后启动Wine容器:
bashdocker run --rm -it --link display:xserver --volumes-from display suchja/wine:latest /bin/bash
--link display:xserver和--volumes-from display选项仅在需通过https://registry.hub.docker.com/u/suchja/x11server/%E6%98%BE%E7%A4%BAWine%E5%9B%BE%E5%BD%A2%E8%BE%93%E5%87%BA%E6%97%B6%E9%9C%80%E8%A6%81%EF%BC%8C%E5%90%A6%E5%88%99%E5%8F%AF%E7%9C%81%E7%95%A5%E3%80%82%E8%8B%A5%E7%9C%81%E7%95%A5%EF%BC%8C%60wine%60%E4%BC%9A%E5%9B%A0%E6%97%A0%E6%B3%95%E6%98%BE%E7%A4%BA%E5%9B%BE%E5%BD%A2%E8%BE%93%E5%87%BA%E8%80%8C%E6%8F%90%E7%A4%BA%E8%AD%A6%E5%91%8A%E3%80%82
容器中未初始化Wine前缀,因此首次操作应执行:
bashwine wineboot --init
若未正确链接运行中的https://registry.hub.docker.com/u/suchja/x11server/%E5%AE%B9%E5%99%A8%EF%BC%8C%E4%BC%9A%E6%8F%90%E7%A4%BAX%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%9C%AA%E8%BF%90%E8%A1%8C%E6%88%96$DISPLAY%E6%9C%AA%E5%AE%9A%E4%B9%89%E7%9A%84%E8%AD%A6%E5%91%8A%E3%80%82%E8%8B%A5%E4%BB%85%E8%BF%90%E8%A1%8C%E6%8E%A7%E5%88%B6%E5%8F%B0%E5%BA%94%E7%94%A8%EF%BC%8C%E5%8F%AF%E5%BF%BD%E7%95%A5%E8%BF%99%E4%BA%9B%E8%AD%A6%E5%91%8A%E3%80%82
初始化后,Wine环境即准备就绪。
初始化前缀后,可验证版本:
bashwine --version
若GUI已配置,可启动记事本验证图形功能:
bashwine notepad.exe
此命令仅在已连接X服务器时有效。若需运行控制台应用,可将应用添加到容器(通过容器内命令行或挂载主机卷)。
运行记事本时可能出现窗口无标题栏(含关闭按钮)的问题,可通过模拟虚拟桌面解决。容器中包含winegui命令(wine的别名,附加参数),使用方式:
bashwinegui notepad.exe
另一种方法是通过winecfg修改"图形"配置(感谢dagelf在评论中指出):运行winecfg,切换到"图形"选项卡,取消勾选以下两项:
Wine支持多种环境变量,可通过docker run -e VARIABLE_NAME=VALUE启动容器时指定,或在容器内shell中通过export VARIABLE_NAME=VALUE设置。
WINEDEBUG
控制Wine调试输出,默认设为-all(无输出)。启动容器后可修改,例如:
bashexport WINEDEBUG=+all
此命令会输出所有组件的信息、警告和错误。详见Wine调试通道。
WINEDLLOVERRIDES
控制是否使用原生DLL或Wine内置DLL。常见用途是禁用wine-mono以运行原生.NET Framework,命令:
bashexport WINEDLLOVERRIDES=mscoree=d
详见Wine DLL覆盖。
WINEARCH
默认配置为运行32位Windows(WINEARCH=win32)。初始化前缀前可通过以下命令修改:
bashexport WINEARCH=''
详见WINEARCH说明。
WINEPREFIX
定义Wine存储Windows文件和配置的目录(前缀)。首次执行Wine命令时会自动创建和配置该目录。镜像中默认设为WINEPREFIX=/home/xclient/.wine。可创建多个前缀并通过此变量切换使用。
wine详见使用方法开头说明。
与https://registry.hub.docker.com/u/suchja/x11server/%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8%E6%97%B6%EF%BC%8C%E6%89%A7%E8%A1%8CWine%E5%91%BD%E4%BB%A4%EF%BC%88%E5%A4%9A%E5%9C%A8%E9%A6%96%E6%AC%A1%60wine wineboot --init`后)可能出现以下错误:
X Error of failed request: BadValue (integer parameter out of range for operation) Major opcode of failed request: 130 (MIT-SHM) Minor opcode of failed request: 3 (X_ShmPutImage) Value in failed request: 0x140 Serial number of failed request: 213 Current serial number in output stream: 219
尚未确定确切原因,推测与远程X服务器相关。据观察无实际影响,欢迎X Window或Wine专家提供解决思路。
本镜像无固定维护计划。Wine发布新稳定版时可能会更新镜像。
若使用中遇到问题,可在https://github.com/suchja/wine%E6%8F%90%E4%BA%A4issue%EF%BC%8C%E6%88%91%E4%BC%9A%E5%B0%BD%E5%BF%AB%E5%A4%84%E7%90%86%E3%80%82
用于构建本Docker镜像的https://github.com/suchja/wine%E6%BA%90%E7%A0%81%E6%97%A0%E7%89%88%E6%9D%83%E9%99%90%E5%88%B6%EF%BC%88%E8%A7%81LICENSE.md%EF%BC%89%EF%BC%8C%E6%82%A8%E5%8F%AF%E8%87%AA%E7%94%B1%E4%BD%BF%E7%94%A8%E8%BF%99%E4%BA%9B%E6%BA%90%E7%A0%81%EF%BC%88%E5%A6%82Dockerfile%E5%92%8CREADME.md%EF%BC%89%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





来自真实用户的反馈,见证轩辕镜像的优质服务