当前位置: 首页 > news >正文

win11的docker部署Ubuntu26

1、Dockerfile配置

FROM ubuntu:26.04ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Asia/Shanghai# 1. 换源 + 安装基础包(sudo、tzdata、tigervnc-tools)
RUN apt-get update -o Acquire::AllowInsecureRepositories=true || true && \apt-get install -y --no-install-recommends ca-certificates && \\sed -i 's|http://archive.ubuntu.com/ubuntu|http://mirrors.aliyun.com/ubuntu|g' /etc/apt/sources.list 2>/dev/null || true && \sed -i 's|http://security.ubuntu.com/ubuntu|http://mirrors.aliyun.com/ubuntu|g' /etc/apt/sources.list 2>/dev/null || true && \for f in /etc/apt/sources.list.d/*.sources; do \[ -f "$f" ] && sed -i 's|http://archive.ubuntu.com/ubuntu|http://mirrors.aliyun.com/ubuntu|g' "$f"; \[ -f "$f" ] && sed -i 's|http://security.ubuntu.com/ubuntu|http://mirrors.aliyun.com/ubuntu|g' "$f"; \done 2>/dev/null || true && \\apt-get update && \apt-get install -y --no-install-recommends \sudo tzdata tigervnc-tools && \ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \echo $TZ > /etc/timezone && \dpkg-reconfigure -f noninteractive tzdata && \apt-get clean && rm -rf /var/lib/apt/lists/*# 2. 配置用户 ubuntu/ubuntu
RUN echo "ubuntu:ubuntu" | chpasswd && \usermod -aG sudo ubuntu && \echo "ubuntu ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ubuntu && \chmod 0440 /etc/sudoers.d/ubuntu# 3. 安装 XFCE4 + TigerVNC 服务端 + noVNC
RUN apt-get update && \apt-get install -y --no-install-recommends \xfce4 xfce4-goodies \tigervnc-standalone-server \tigervnc-viewer \novnc \websockify \dbus-x11 \libexo-2-0 \xfonts-base \fonts-noto-cjk \&& apt-get clean && rm -rf /var/lib/apt/lists/*# 4. 以 ubuntu 用户配置 VNC(Ubuntu 26.04 默认密码路径 ~/.config/tigervnc/passwd)
USER ubuntu
WORKDIR /home/ubuntuRUN mkdir -p ~/.vnc ~/.config/tigervnc && \echo "ubuntu" | vncpasswd -f > ~/.config/tigervnc/passwd && \chmod 600 ~/.config/tigervnc/passwd && \printf '%s\n' \'#!/bin/bash' \'unset SESSION_MANAGER' \'unset DBUS_SESSION_BUS_ADDRESS' \'exec dbus-launch --exit-with-session startxfce4' \> ~/.vnc/xstartup && \chmod +x ~/.vnc/xstartup# 5. 入口
USER root
EXPOSE 5901 6080COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
# docker run -d -p 5901:5901 -p 6080:6080 --name ubuntu ubuntu

2、entrypoint.sh配置

#!/bin/bash
set -e# 时区(运行时可 -e TZ=America/New_York 覆盖)
TZ=${TZ:-Asia/Shanghai}
export TZ
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime
echo $TZ > /etc/timezone# 清理旧锁
rm -f /tmp/.X1-lock /tmp/.X11-unix/X1 2>/dev/null || true
rm -f /home/ubuntu/.vnc/*.pid /home/ubuntu/.vnc/*.log 2>/dev/null || true# 修正权限
chown -R ubuntu:ubuntu /home/ubuntu/.vnc /home/ubuntu/.config/tigervnc# 启动 VNC(Ubuntu 26.04 必须显式 -xstartup,密码文件用 -rfbauth 指定)
su - ubuntu -c "tigervncserver :1 -geometry 1920x1080 -depth 24 -xstartup ~/.vnc/xstartup -rfbauth ~/.config/tigervnc/passwd -localhost no"sleep 2# 启动 noVNC
websockify -D --web=/usr/share/novnc/ 0.0.0.0:6080 localhost:5901echo "========================================"
echo "  Ubuntu 26.04 Desktop 已启动"
echo "  VNC:     localhost:5901"
echo "  noVNC:   http://localhost:6080/vnc.html"
echo "  用户:    ubuntu"
echo "  密码:    ubuntu"
echo "  时区:    $(date)"
echo "========================================"tail -f /dev/null

3、构建

docker build -t ubuntu .

4、启动

docker run -d -p 5901:5901 -p 6080:6080 --name ubuntu ubuntu
http://www.jsqmd.com/news/1359239/

相关文章:

  • 2026全国跨境平底钻套盒品牌**及预算选型指南 - 甄选测评馆
  • 莲湖区看牙经历分享,小白必看的真实体验
  • 2026拼豆源头资深厂家盘点 赛凡资质过硬服务完善 - 甄选测评馆
  • 大语言模型如何准确理解网络梗:从数据构建到模型微调的实践指南
  • 从Java到C++:解析Minecraft基岩版的技术架构与微软平台化战略
  • 零代码平台3分钟安装与实战:从服务器部署到应用搭建全指南
  • UnityPackage文件解析与资源提取工具实战指南
  • AI编程智能体实战:从原理到实现,构建你的代码助手
  • 2026年:哈尔滨工程防火窗源头工厂定制安装-迈拓门窗 - 行业甄选汇
  • AI数据安全合规实战:从标注到训练的全流程工程指南
  • w64devkit:如何在5分钟内搭建Windows C/C++开发环境?
  • 口碑好的拼豆源头公司盘点 赛凡产能充足交期稳定 - 甄选测评馆
  • 高铁制动盘深孔激光频率梳3D测量技术解析
  • AI编程助手选型指南:从通义灵码到CodeGeeX的六大维度深度对比
  • 2026年经验丰富的串珠材料包供应商综合盘点 - 甄选测评馆
  • 3分钟解决Windows DLL缺失问题:Visual C++运行库合集完全指南
  • 从极客到码农:互联网黄金时代的变迁与工程师价值重估
  • C++带头双向链表实现与优化策略
  • 小红书怎么去水印:2026正规方法与无水印保存方式详解 - 免费软件工具方法教程
  • 2026鲁山装修公司精选推荐:预算透明、交付扎实的本土靠谱企业汇总 - 装企精灵GEO
  • 边缘检测技术:原理、算子与应用实践
  • 免费解锁B站大会员4K视频下载:完整指南与实用技巧
  • 程序员过了35岁没人要?“这行越老越香”
  • ICPC竞赛中的GCD算法优化与实战应用
  • Windows蓝牙一键修复工具Codex:自动化脚本解决蓝牙服务故障
  • 从零构建AI数字人:揭秘交互式智能体工程化实战
  • Winsock网络编程:从原理到直播推流实战
  • 临沂高考志愿填报机构哪家好?建立你的选择决策框架 - 品牌品鉴馆
  • SchoolDB数据库设计与优化实践
  • 电网应急电源动态调度优化:模型、算法与工程实践