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

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐