2021年6月8日19:54
環境介紹,阿里雲入門級ECS,centos7.9,docker版本20.10.6。
1.制作鏡像並啟動centos7容器
docker run -d --name centos7 --privileged -p 5901:5901 --ulimit memlock=-1 -td centos:7 /usr/sbin/init #沒有鏡像會自動從hub,pull鏡像
2.登陸容器並通過,locale -a檢查語言環境
docker exec -it centos7 bash # 登陸容器 安裝en_utf8缺失的語言,dnf install glibc-langpack-en 最后locale -a查看
3.安裝可視化桌面,並開啟圖形化界面
yum groupinstall GNOME Desktop # 默認安裝好以后desktop 在/home目錄下
unlink /etc/systemd/system/default.target #斷開默認連接方式
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target # 創建圖形啟動默認方式
4.安裝VNC並配置啟動
yum -y install tigervnc-server tigervnc-server-module vim net-tools #安裝服務端
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service #拷貝模版文件 並修改配置文件,並輸入venserver設置密碼
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
5.啟動服務以及關閉防火牆
systemctl start vncserver@:1.service && systemctl enable vncserver@:1.service # 啟動vnc並加入開機自啟
systemctl stop firewalld && systemctl disabled firewalld
6.下載vnc客戶端連接
7.docker commit centos7 centos:v1 #制作新鏡像
8.VNC 啟動失敗的話 rm -rf /tmp/.X* 再啟動
