
https://hub.docker.com/r/accetto/ubuntu-vnc-xfce/ - https://github.com/accetto/ubuntu-vnc-xfce - https://github.com/accetto/ubuntu-vnc-xfce/blob/master/CHANGELOG.md - https://github.com/accetto/ubuntu-vnc-xfce/wiki
![badge-docker-pulls][badge-docker-pulls] ![badge-docker-stars][badge-docker-stars] ![badge-github-release][badge-github-release] ![badge-github-release-date][badge-github-release-date] ![badge-github-stars][badge-github-stars] ![badge-github-forks][badge-github-forks] ![badge-github-open-issues][badge-github-open-issues] ![badge-github-closed-issues][badge-github-closed-issues] ![badge-github-releases][badge-github-releases] ![badge-github-commits][badge-github-commits] ![badge-github-last-commit][badge-github-last-commit]
提示 如果你需要基于[Ubuntu 20.04 LTS][docker-ubuntu]的更新镜像,且包含最新版本的[TigerVNC][tigervnc-releases]/[noVNC][novnc-releases],请查看第三代(G3)镜像:[accetto/ubuntu-vnc-xfce-g3][accetto-docker-ubuntu-vnc-xfce-g3]、[accetto/ubuntu-vnc-xfce-chromium-g3][accetto-docker-ubuntu-vnc-xfce-chromium-g3] 或 [accetto/ubuntu-vnc-xfce-firefox-g3][accetto-docker-ubuntu-vnc-xfce-firefox-g3]。
提示 除非你需要[nss_wrapper][nsswrapper],否则也可以使用第二代(G2)镜像https://hub.docker.com/r/accetto/xubuntu-vnc-novnc,它是本镜像的精简版本(https://github.com/accetto/xubuntu-vnc-novnc/wiki/Image-hierarchy)。该镜像还支持sudo命令。
本仓库包含用于构建基于[Ubuntu 18.04 LTS][docker-ubuntu]的Docker镜像的资源,该镜像带有[Xfce][xfce]桌面环境和[VNC][tigervnc]/[noVNC][novnc]服务器,适用于无头使用场景。
这些镜像可在Linux、Windows、Mac和NAS设备上成功构建和使用。已在[Ubuntu衍生版][ubuntu-flavours]的[Docker Desktop][docker-desktop]、[Windows 10][docker-for-windows]以及[QNAP][qnap]的[Container Station][container-station]上进行测试。
这是我的无头镜像的第一代(G1),我于2022年3月停止维护。但由于注意到镜像仍被拉取,我在2022年11月恢复了该项目。
当前的第二版(G1v2) 带来了一些改进,主要体现在构建流程和支持脚本上。
它还将之前分离的GitHub项目https://github.com/accetto/ubuntu-vnc-xfce-firefox、https://github.com/accetto/ubuntu-vnc-xfce-firefox-plus和https://github.com/accetto/ubuntu-vnc-xfce-chromium合并到了这个单一项目中。
本镜像 accetto/ubuntu-vnc-xfce 是我的其他具有附加功能的Docker镜像(https://hub.docker.com/r/accetto/ubuntu-vnc-xfce-firefox-plus/、https://hub.docker.com/r/accetto/ubuntu-vnc-xfce-firefox-default/ 和 https://hub.docker.com/r/accetto/ubuntu-vnc-xfce-chromium/)的基础镜像。
由此镜像创建的容器非常适合学习、开发或测试,因为它们可以通过Web浏览器(通过[noVNC][novnc])或VNC查看器(如[TigerVNC][tigervnc]或[TightVNC][tightvnc])轻松进行无头使用。同时提供精简版(lite) 和完整版(full) [noVNC][novnc]客户端。
虽然容器不包含任何Web浏览器,但已包含[mousepad][mousepad]和[vim][vim]编辑器以及ping工具。其他应用程序也可以在运行时轻松添加,因为容器在特权root用户下运行。
需要注意的是,容器的root与主机的root不同,并且不会自动获得主机上的所有root权限。有关更多信息,请查看[Docker文档][docker-doc](例如[运行时特权和Linux功能][docker-doc-capabilities])。
容器的主要使用场景是后台运行,但也可以在前台交互使用。有关示例,请参见下面的描述或https://github.com/accetto/ubuntu-vnc-xfce/wiki中的https://github.com/accetto/ubuntu-vnc-xfce/wiki/How-to部分。
镜像包含以下组件:
镜像会定期维护和重建。重大变更历史记录在https://github.com/accetto/ubuntu-vnc-xfce/blob/master/CHANGELOG.md中。
![screenshot-container][screenshot-container]
https://hub.docker.com/r/accetto/ubuntu-vnc-xfce/
基于官方[ubuntu][docker-ubuntu]镜像的镜像。
latest 基于 ubuntu:latest
![badge-VERSION_STICKER_LATEST][badge-VERSION_STICKER_LATEST]
暴露以下TCP端口:
默认VNC用户密码为headless。
容器默认不创建或使用任何外部卷。但是,以下文件夹是良好的挂载点:
可以使用命名卷和绑定挂载。有关卷的更多信息,请参见[Docker文档][docker-doc](例如[管理Docker中的数据][docker-doc-managing-data])。
版本标签有多种用途,在https://github.com/accetto/ubuntu-vnc-xfce/wiki中有更详细的描述。版本标签值标识Docker镜像的版本,在构建时持久化到镜像中,并在README文件中显示为徽章。
但是,脚本version_sticker.sh可随时用于方便地检查已安装应用程序的当前版本。
该脚本部署在启动文件夹中,该文件夹由环境变量STARTUPDIR定义,默认值为/dockerstartup。
如果在容器内执行不带参数的脚本,则返回容器的当前版本标签值。此值是新计算的,基于容器中基本应用程序的当前版本。
如果任何包含的应用程序已更新到其他版本,则当前版本标签值将与持久化值不同。
如果使用参数-v(小写v)调用脚本,则会打印出版本标签值中包含的基本应用程序的详细版本。
如果使用参数-V(大写v)调用,则会打印出更多应用程序的详细版本。
示例可在https://github.com/accetto/ubuntu-vnc-xfce/wiki中找到。
容器默认在特权root用户下运行。但请注意,这是容器的root,与主机的root不同(见上文)。
以下容器将侦听主机自动选择的TCP端口:
dockerdocker run -d -P accetto/ubuntu-vnc-xfce
以下容器将侦听主机的显式TCP端口25901(VNC)和26901(noVNC):
dockerdocker run -d -p 25901:5901 -p 26901:6901 accetto/ubuntu-vnc-xfce
以下容器将创建或重用本地命名卷my_Downloads,挂载为/headless/Downloads:
dockerdocker run -d -P -v my_Downloads:/home/headless/Downloads accetto/ubuntu-vnc-xfce
或使用带有**--mount**标志的较新语法:
dockerdocker run -d -P --mount source=my_Downloads,target=/home/headless/Downloads accetto/ubuntu-vnc-xfce
更多使用示例可在https://github.com/accetto/ubuntu-vnc-xfce/wiki的https://github.com/accetto/ubuntu-vnc-xfce/wiki/How-to部分找到。
镜像支持以下容器启动选项:--wait(默认)、--skip、--debug(也为--tail-log)和--help。
以下容器将打印帮助信息,然后自行删除:
dockerdocker run --rm accetto/ubuntu-vnc-xfce --help
输出摘录,描述其他选项:
dockerOPTIONS: -w, --wait (默认) 保持UI和vnc服务器运行,直到收到SIGINT或SIGTERM信号。 可选命令可在vnc启动后执行。 示例: docker run -d -P accetto/ubuntu-vnc-xfce 示例: docker run -it -P --rm accetto/ubuntu-vnc-xfce bash -s, --skip 跳过vnc启动,仅执行提供的命令。 示例: docker run -it -P --rm accetto/ubuntu-vnc-xfce --skip echo $BASH_VERSION -d, --debug 执行vnc启动并跟踪vnc/noVNC日志。 '--debug'后的任何参数将被忽略。CTRL-C停止容器。 示例: docker run -it -P --rm accetto/ubuntu-vnc-xfce --debug -t, --tail-log 与'--debug'相同 -h, --help 打印此帮助信息。 示例: docker run --rm accetto/ubuntu-vnc-xfce
需要注意的是,即使提供了-it运行参数,--debug启动选项也不会显示命令提示符。这是因为容器正在监视传入的vnc/noVNC连接并实时打印其日志。但是,可以轻松附加到正在运行的容器,如下例所示。
在主机的第一个终端窗口中,创建名为foo的新容器:
dockerdocker run --name foo accetto/ubuntu-vnc-xfce --debug
在主机的第二个终端窗口中,在foo容器内执行shell:
dockerdocker exec -it foo /bin/bash
有两种方式使用创建的无头容器。注意默认VNC用户密码为headless。
要通过VNC使用容器,需要一些VNC查看器(如[TigerVNC][tigervnc]或[TightVNC][tightvnc])。
VNC查看器应连接到运行容器的主机,指向映射到容器TCP端口5901的主机TCP端口。
例如,如果容器在名为mynas的主机上使用上述参数创建,则VNC查看器应连接到mynas:25901。
要通过[noVNC][novnc]使用容器,需要支持HTML5的Web浏览器。实际上,任何当前的Web浏览器都可以使用。
浏览器应导航到运行容器的主机,指向映射到容器TCP端口6901的主机TCP端口。
但是,自版本1.2.0起,容器提供两个[noVNC][novnc]客户端。除了之前可用的精简版(lite) 客户端外,还有完整版(full) 客户端,具有更多功能。两种情况下的连接URL略有不同。为方便起见,实现了一个简单的启动页面。
如果容器在名为mynas的主机上使用上述参数创建,则Web浏览器应导航到http://mynas:26901。
启动页面将显示指向两个noVNC客户端的超链接:
http://mynas:26901/vnc_lite.htmlhttp://mynas:26901/vnc.html也可以通过链接提供密码:
http://mynas:26901/vnc_lite.html?password=headlesshttp://mynas:26901/vnc.html?password=headless如果你发现问题或有疑问,请先查看https://github.com/accetto/ubuntu-vnc-xfce/issues以及https://github.com/accetto/ubuntu-vnc-xfce/wiki中的https://github.com/accetto/ubuntu-vnc-xfce/wiki/Troubleshooting、https://github.com/accetto/ubuntu-vnc-xfce/wiki/Frequently-asked-questions和https://github.com/accetto/ubuntu-vnc-xfce/wiki/How-to部分。请不要忽略已关闭的问题。
如果未找到解决方案,可以提交新问题。你对问题的描述越详细,问题被快速解决的可能性就越大。
本项目最初受旧Docker镜像[consol/ubuntu-xfce-vnc][consol-docker-ubuntu-xfce-vnc]启发,并源自GitHub仓库[ConSol/docker-headless-vnc-container][consol-github-docker-headless-vnc-container]的旧版本。
同时感谢所有为开源社区做出贡献的无数个人和公司,是他们让许多梦想成为现实。
[acc
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务