
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://hub.docker.com/r/accetto/xubuntu-vnc-novnc/ - https://github.com/accetto/xubuntu-vnc-novnc/ - https://github.com/accetto/xubuntu-vnc-novnc/blob/master/CHANGELOG.md - https://github.com/accetto/xubuntu-vnc-novnc/wiki - https://github.com/accetto/xubuntu-vnc-novnc/wiki/Image-hierarchy
本仓库包含基于https://hub.docker.com/_/ubuntu/构建Docker镜像的资源,该镜像集成http://www.xfce.org桌面环境和VNC/https://github.com/kanaka/noVNC服务器,适用于无头使用场景。
这是我的无头镜像的第二代(G2)版本,最初于2022年3月停止维护。但由于发现仍有镜像拉取需求,于2022年11月重启项目。当前第二版(G2v2)主要改进了构建流程和支持脚本。
若需基于https://hub.docker.com/_/ubuntu/且包含最新https://github.com/TigerVNC/tigervnc/releases/https://github.com/novnc/noVNC/releases版本的更新镜像,请查看第三代(G3)镜像:https://hub.docker.com/r/accetto/ubuntu-vnc-xfce-g3、https://hub.docker.com/r/accetto/ubuntu-vnc-xfce-chromium-g3或https://hub.docker.com/r/accetto/ubuntu-vnc-xfce-firefox-g3。
本镜像为https://hub.docker.com/r/accetto/ubuntu-vnc-xfce/的精简版本,是https://github.com/accetto/xubuntu-vnc-novnc/wiki/Image-hierarchy的一部分。
.deb包并自动解决依赖(Ubuntu发行版)重大变更历史记录于https://github.com/accetto/xubuntu-vnc-novnc/blob/master/CHANGELOG.md。
以下镜像标签定期维护并重建:
latest:基于ubuntu:latesthttps://github.com/accetto/xubuntu-vnc-novnc/tree/master/docker/xubuntu-vnc仓库包含多个可用于构建镜像的Dockerfile:
Dockerfile
主Dockerfile,默认基于ubuntu:latest标签构建latest镜像。
通过BASETAG构建参数可基于其他Ubuntu标签构建,例如ubuntu:rolling:
shelldocker build --build-arg BASETAG=rolling -t accetto/xubuntu-vnc-novnc:rolling
通过ARG_SUPPORT_USER_GROUP_OVERRIDE构建参数可构建支持覆盖容器用户组的lab镜像(参数值任意,均视为"启用"):
shelldocker build --build-arg ARG_SUPPORT_USER_GROUP_OVERRIDE=yes -t accetto/xubuntu-vnc-novnc:lab
暴露以下TCP端口:
容器默认不创建或使用外部卷,但以下文件夹适合作为挂载点:/home/headless/Documents/、/home/headless/Downloads/、/home/headless/Pictures/、/home/headless/Public/
支持命名卷和绑定挂载。有关卷的更多信息,请参阅https://docs.docker.com/(例如https://docs.docker.com/storage/)。
版本标签用于标识Docker镜像版本,构建时持久化到镜像中,并在README中以徽章形式展示(详见https://github.com/accetto/xubuntu-vnc-novnc/wiki)。
脚本version_sticker.sh可随时用于检查已安装应用的当前版本,部署在由环境变量STARTUPDIR(默认值/dockerstartup)定义的启动文件夹中。
-v参数执行:输出版本标签包含的必要应用的详细版本信息-V参数执行:输出更多应用的详细版本信息示例详见https://github.com/accetto/xubuntu-vnc-novnc/wiki。
有两种方式使用创建的无头容器。
默认VNC用户密码为headless,可通过环境变量VNC_PW修改。例如,以下容器将使用密码mynewpwd:
shelldocker run -dP -e VNC_PW=mynewpwd docker.xuanyuan.run/accetto/xubuntu-vnc-novnc
需安装VNC查看器(如TigerVNC或TightVNC)。
VNC查看器应连接到运行容器的主机,指向映射到容器TCP端口5901的主机端口。
例如,若容器在主机mynas上创建,VNC查看器应连接到mynas:25901(假设主机端口映射为25901)。
需使用支持HTML5的Web浏览器(当前所有主流浏览器均支持)。
浏览器应导航到运行容器的主机,指向映射到容器TCP端口6901的主机端口。
容器提供两个https://github.com/kanaka/noVNC客户端:精简版和功能更全的完整版。为简化访问,实现了简易启动页面。
例如,若容器在主机mynas上创建,浏览器应导航到http://mynas:26901(假设主机端口映射为26901)。
启动页面将显示两个指向noVNC客户端的超链接:
http://mynas:26901/vnc_lite.html(精简版)http://mynas:26901/vnc.html(完整版)也可通过链接传递密码:
http://mynas:26901/vnc_lite.html?password=headlesshttp://mynas:26901/vnc.html?password=headless基于此镜像创建的容器默认以应用用户(headless,UID 1001:GID 0)运行,默认密码也为headless。可在容器内使用以下命令修改用户密码:
shellpasswd
注意区分应用用户密码和VNC用户密码:两者默认值相同,但前者用于sudo权限(通过passwd命令修改),后者用于VNC访问(通过VNC_PW环境变量修改)。
sudo命令允许权限提升,因此默认应用用户可安装新应用,例如安装git:
shellsudo apt-get update sudo apt-get install -y git
默认应用账户的组成员资格(组0)不会自动赋予root用户权限(技术细节见https://github.com/accetto/xubuntu-vnc-novnc/wiki)。
可通过--user参数修改容器用户ID(默认1001),例如:
shelldocker run -itP --rm --user 2019 docker.xuanyuan.run/accetto/xubuntu-vnc-novnc
镜像也支持覆盖容器用户组ID(默认0),但需使用ARG_SUPPORT_USER_GROUP_OVERRIDE参数构建的镜像,否则以下命令将失败:
shell### 失败(权限拒绝) docker run -itP --rm --user 2019:2000 docker.xuanyuan.run/accetto/xubuntu-vnc-novnc:latest ### 成功(使用支持用户组覆盖的lab标签镜像) docker run -itP --rm --user 2019:2000 docker.xuanyuan.run/accetto/xubuntu-vnc-novnc:lab
lab标签镜像已启用此功能。仅支持数字ID和GID(技术细节见https://github.com/accetto/xubuntu-vnc-novnc/wiki)。
以下命令创建在后台运行的容器,并在主机上自动选择TCP端口监听:
shelldocker run -dP docker.xuanyuan.run/accetto/xubuntu-vnc-novnc
以下命令指定主机TCP端口25901监听:
shelldocker run -d -p 25901:5901 docker.xuanyuan.run/accetto/xubuntu-vnc-novnc
以下命令创建(或复用)本地命名卷my_Downloads,挂载为/home/headless/Downloads:
shelldocker run -dP -v my_Downloads:/home/headless/Downloads docker.xuanyuan.run/accetto/xubuntu-vnc-novnc
或使用--mount标志的新语法:
shelldocker run -dP --mount source=my_Downloads,target=/home/headless/Downloads docker.xuanyuan.run/accetto/xubuntu-vnc-novnc
镜像支持以下启动选项:--wait(默认)、--skip、--debug(同--tail-log)和--help。
以下命令打印帮助信息后自动删除容器:
shelldocker run --rm docker.xuanyuan.run/accetto/xubuntu-vnc-novnc --help
选项说明(输出摘录):
shell-w, --wait (默认)保持UI和VNC服务器运行,直到收到SIGINT或SIGTERM信号。 可在VNC启动后执行可选命令。 示例:docker run -d -P accetto/xubuntu-vnc-novnc 示例:docker run -it -P --rm accetto/xubuntu-vnc-novnc bash -s, --skip 跳过VNC启动,仅执行提供的命令。 示例:docker run -it -P --rm accetto/xubuntu-vnc-novnc --skip echo $BASH_VERSION -d, --debug 执行VNC启动,打印额外信息并跟踪VNC日志。 '--debug'后的任何参数将被忽略。CTRL-C停止容器。 示例:docker run -it -P --rm accetto/xubuntu-vnc-novnc --debug -t, --tail-log 类似'--debug',但不打印额外诊断信息 -h, --help 打印此帮助信息。 示例:docker run --rm accetto/xubuntu-vnc-novnc
注意:即使提供-it参数,--debug选项也不会显示命令提示符(容器实时打印VNC连接日志)。可从第二个终端窗口连接到运行中的容器:
在主机第一个终端窗口创建名为foo的容器:
shelldocker run --rm --name foo docker.xuanyuan.run/accetto/xubuntu-vnc-novnc --debug
在第二个终端窗口执行容器内shell:
shelldocker exec -it foo bash
若发现问题或有疑问,请先查看https://github.com/accetto/xubuntu-vnc-novnc/issues和https://github.com/accetto/xubuntu-vnc-novnc/wiki(包括已关闭的issues)。如未找到解决方案,可提交新issue。问题描述越详细,解决可能性越高。
感谢所有为开源社区贡献的个人和企业,是你们让许多梦想成为现实。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务