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* 再启动