
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镜像的资源,该镜像集成Xfce桌面环境和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/
支持命名卷和绑定挂载。有关卷的更多信息,请参阅Docker文档(例如管理Docker中的数据)。
版本标签用于标识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 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 accetto/xubuntu-vnc-novnc
镜像也支持覆盖容器用户组ID(默认0),但需使用ARG_SUPPORT_USER_GROUP_OVERRIDE参数构建的镜像,否则以下命令将失败:
shell### 失败(权限拒绝) docker run -itP --rm --user 2019:2000 accetto/xubuntu-vnc-novnc:latest ### 成功(使用支持用户组覆盖的lab标签镜像) docker run -itP --rm --user 2019:2000 accetto/xubuntu-vnc-novnc:lab
lab标签镜像已启用此功能。仅支持数字ID和GID(技术细节见https://github.com/accetto/xubuntu-vnc-novnc/wiki)。
以下命令创建在后台运行的容器,并在主机上自动选择TCP端口监听:
shelldocker run -dP accetto/xubuntu-vnc-novnc
以下命令指定主机TCP端口25901监听:
shelldocker run -d -p 25901:5901 accetto/xubuntu-vnc-novnc
以下命令创建(或复用)本地命名卷my_Downloads,挂载为/home/headless/Downloads:
shelldocker run -dP -v my_Downloads:/home/headless/Downloads accetto/xubuntu-vnc-novnc
或使用--mount标志的新语法:
shelldocker run -dP --mount source=my_Downloads,target=/home/headless/Downloads accetto/xubuntu-vnc-novnc
镜像支持以下启动选项:--wait(默认)、--skip、--debug(同--tail-log)和--help。
以下命令打印帮助信息后自动删除容器:
shelldocker run --rm 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 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。问题描述越详细,解决可能性越高。
感谢所有为开源社区贡献的个人和企业,是你们让许多梦想成为现实。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务