docker 启动centos7图形画界面并

时间:2024-03-12 13:13:38

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