docker 运行图形化ubuntu

docker pull ubuntu:22.04


docker run --privileged --cap-add SYS_ADMIN \
-e container=docker \
-it --name my_ubuntu \
 -p 5091:5091 \
 -d --restart=always ubuntu:22.04

安装vnc

apt-get install xfce4 xfce4-goodies -y
apt-get install tigervnc-standalone-server tigervnc-xorg-extension -y
ls ~/.vnc

mkdir ~/.vnc


cat > ~/.vnc/xstartup << EOF
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
EOF

chmod u+x  ~/.vnc/xstartup
ls ~/.vnc

cat >  ~/.vnc/config << EOF
geometry=1920x1080
dpi=96
EOF

vncserver -geometry 1920x1080 :1 -localhost no
ss -ntlp

dockerfile

from ubuntu:20.04

RUN sed -i "s@http://.*archive.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list &&\
sed -i "s@http://.*security.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list

RUN apt update
RUN DEBIAN_FRONTEND=noninteractive apt-get install xfce4 xfce4-goodies  tigervnc-standalone-server tigervnc-xorg-extension -y
RUN DEBIAN_FRONTEND=noninteractive apt install fcitx fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-libpinyin fonts-wqy-zenhei -y
RUN mkdir ~/.vnc

RUN echo '\n\
#!/bin/sh \n\
unset SESSION_MANAGER \n\
unset DBUS_SESSION_BUS_ADDRESS \n\
exec startxfce4  \n'\
>> ~/.vnc/xstartup

RUN echo ' \n\
export LANG=zh_CN.UTF-8 \n\
export LANGUAGE=zh_CN:en_US \n\
export LC_CTYPE=zh_CN.UTF-8 \n\
export GTK_IM_MODULE=fcitx \n\
export QT_IM_MODULE=fcitx \n\
export XMODIFIERS="@im=fcitx" \n\'\
>>/etc/.xprofile

RUN chmod +x ~/.vnc/xstartup
RUN apt-get install -y iproute2 vim firefox htop tree xfce4-panel-profiles
ENTRYPOINT vncserver -geometry 1920x1080 :1 -localhost no

docker-compose.yml

version: "3.9"
services:
   vnc-ubuntu:
     #定义主机名
     container_name: vnc-ubuntu
     #使用的镜像
     image: ubuntu-20.04-vnc:v0.1
     #容器的映射端口
     ports:
       - 5901:5901
     #定义挂载点
     #docker 重启后,容器自启动
     restart: always
     entrypoint: sleep inf
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐