带桌面的docker容器(ubuntu-server版本安装vnc远程桌面 xfce实现)

使用命令行直接pull镜像实现 (已经测试)

有的,你可以使用带桌面环境(如 XFCE、GNOME 等)并通过 VNC 或 Web 界面访问的 Docker 容器。下面是一个推荐的、常用的带桌面的 Docker 容器:


🐳 推荐容器:dorowu/ubuntu-desktop-lxde-vnc

这是一个基于 Ubuntu 的容器,带有 LXDE 桌面环境VNC/Web(noVNC)远程访问功能

✅ 特点:

  • 基于 Ubuntu(轻量)
  • 带 LXDE 桌面
  • 支持 VNC 和 Web 浏览器访问桌面(noVNC)
  • 安装了一些常用软件(Firefox 等)

🚀 使用方式:

1. 拉取镜像:

docker pull dorowu/ubuntu-desktop-lxde-vnc

2. 启动容器:

docker run -it -p 6080:80 dorowu/ubuntu-desktop-lxde-vnc
  • 启动后,你可以通过浏览器访问:http://localhost:6080 来进入桌面界面。
  • 默认用户名:root,密码:``(空)

⚙️ 可选参数(增强功能):

docker run -it \
  -p 6080:80 \
  -p 5901:5901 \  # 如果想用 VNC 客户端访问
  -e VNC_PASSWORD=你的密码 \
  -v /your/local/path:/headless/Desktop \
  dorowu/ubuntu-desktop-lxde-vnc

📦 其他类似容器(可选):


需要我帮你定制一个带特定软件的桌面容器(如开发工具、浏览器、IDE 等)吗?我也可以给你写一个 Dockerfile

下面是一个完整的 Dockerfile,基于 Ubuntu,带有轻量的 XFCE 桌面环境noVNC Web 桌面访问 和一些常用软件(如 Firefox、终端等)。这个镜像启动后,你可以直接通过浏览器访问桌面。


🧱 Dockerfile 示例:Ubuntu + XFCE + noVNC + Firefox

# 基础镜像
FROM ubuntu:22.04

ENV DEBIAN_FRONTEND=noninteractive

# 安装基本组件
RUN apt-get update && apt-get install -y \
    xfce4 xfce4-goodies x11vnc xvfb \
    firefox wget curl net-tools sudo git \
    python3 python3-pip supervisor \
    && apt-get clean && rm -rf /var/lib/apt/lists/*

# 创建用户
RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo

# 设置默认分辨率
ENV DISPLAY=:1
ENV RESOLUTION=1280x800

# 下载 noVNC 和 websockify(源码)
WORKDIR /opt
RUN git clone https://github.com/novnc/noVNC /opt/noVNC \
    && git clone https://github.com/novnc/websockify /opt/websockify \
    && chmod +x /opt/websockify/run \
    && ln -s /opt/noVNC/vnc_lite.html /opt/noVNC/index.html


# 设置 VNC 密码
RUN mkdir -p /home/docker/.vnc \
    && x11vnc -storepasswd 123456 /home/docker/.vnc/passwd

# 复制 supervisord 配置文件
COPY supervisord.conf /etc/supervisor/conf.d/vnc.conf

WORKDIR /home/docker

EXPOSE 6080

CMD ["/usr/bin/supervisord", "-n"]


📄 supervisord.conf 内容

你还需要一个 supervisord.conf 文件放在同目录,内容如下: 注意后面修改名字

[program:xvfb]
command=/usr/bin/Xvfb :1 -screen 0 1280x800x24
autostart=true
autorestart=true

[program:x11vnc]
command=/usr/bin/x11vnc -display :1 -passwd 123456 -forever -shared
autostart=true
autorestart=true

[program:startxfce4]
command=/usr/bin/startxfce4
environment=DISPLAY=":1"
autostart=true
autorestart=true

[program:novnc]
command=/opt/websockify/run 0.0.0.0:6080 localhost:5900 --web=/opt/noVNC
autostart=true
autorestart=true


image


🚀 构建镜像并运行容器

1. 构建镜像

Dockerfilesupervisord.conf 所在目录下运行:

docker build -t my-desktop .

2. 运行容器

docker run -it -p 6080:6080 --name my-desktop-container my-desktop

3. 访问桌面

打开浏览器,访问:

http://localhost:6080

登录无需用户名密码,直接进入 XFCE 桌面。


需要加上 Python IDE、VS Code、Chrome 或其他软件吗?我可以继续帮你加上。

image

posted @ 2025-05-15 13:49  学不会xuebuhui  阅读(1308)  评论(3)    收藏  举报
Language: javascript //图片预览