Ubuntu / Dockerfile
charlielin0121's picture
Update Dockerfile
4ff35c1 verified
Raw
History Blame Contribute Delete
1.25 kB
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
ENV DISPLAY=:1
# 安裝必要套件
RUN apt-get update && apt-get install -y \
xfce4 \
xfce4-terminal \
tigervnc-standalone-server \
tigervnc-common \
novnc \
websockify \
dbus-x11 \
supervisor \
net-tools \
&& rm -rf /var/lib/apt/lists/*
# 設定 VNC 密碼
RUN mkdir -p /root/.vnc && \
echo "password" | vncpasswd -f > /root/.vnc/passwd && \
chmod 600 /root/.vnc/passwd
# 建立 VNC 配置
RUN echo '#!/bin/bash\n\
vncserver -kill :1 || true\n\
rm -rf /tmp/.X1-lock /tmp/.X11-unix/X1\n\
vncserver :1 -geometry 1280x800 -depth 24 -SecurityTypes None' > /start-vnc.sh && \
chmod +x /start-vnc.sh
# 建立網頁 VNC 啟動腳本
RUN echo '#!/bin/bash\n\
websockify --web=/usr/share/novnc/ --wrap-mode=ignore 6080 localhost:5901' > /start-novnc.sh && \
chmod +x /start-novnc.sh
# 建立主啟動腳本
RUN echo '#!/bin/bash\n\
echo "Starting VNC server..."\n\
/start-vnc.sh\n\
echo "Starting noVNC server..."\n\
/start-novnc.sh &\n\
echo "VNC Desktop started successfully!"\n\
echo "VNC Port: 5901, noVNC Port: 6080"\n\
tail -f /dev/null' > /start-desktop.sh && \
chmod +x /start-desktop.sh
EXPOSE 5901 6080
CMD ["/start-desktop.sh"]