- 研发需求:系统需要用到图形界面,本身可以通过管理(ipmi)页面去访问图形页面,这个功能不能多并发,使用起来也不是很方便,想到了VNC的办法,在Linux系统上起多个VNC,然后通过Guacamole去访问。
- 安装docker
yum -y install docker
#docker版本需要20以上才行
- 拉取服务镜像&&或者直接下载我打包好的镜像
docker pull guacamole/guacamole
docker pull guacamole/guacd
docker pull mysql
链接:https://pan.baidu.com/s/1Ah8NJILEE5gesYrDfbWjYw
提取码:1021
#如果用我下载好的就直接docker load -i 压缩包名称 导入就行了
- 查看镜像
docker images
- 部署MySQL
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=guacamole mysql
- Guacamole程序不会自动初始化数据库,运行MySQL之后需要手动初始化数据库,而Guacamole提供了数据库文件,只需要生成导入就可以了。
生成数据库文件:
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql
- 这一步完成后当前目录下会生成一个initdb.sql的文件,将它复制到MySQL容器内
docker cp initdb.sql mysql:/
-
复制完成之后进入MySQL容器初始化数据库
-
进入MySQL容器:
docker exec -it mysql bash
- 在容器内运行,进入数据库
mysql -uroot -psim
- 创建一个数据库:
mysql > create database guac;
- 选择数据库:
mysql > use guac;
- 导入数据:
mysql > source /initdb.sql
- 部署Guacd
- Guacd是Apache Guacamole网络应用程序使用的本地服务器端代理,运行Guacd:
docker run --name guacd -d guacamole/guacd
- 部署Guacdmole
docker run --name guacamole --link guacd:guacd \
--link mysql:mysql \
-e MYSQL_DATABASE=guac \
-e MYSQL_USER=root \
-e MYSQL_PASSWORD=guacamole \
-d -p 9090:8080 guacamole/guacamole
- 访问服务
http://ip:9090/guacamole/#/
- 默认账号密码均为:guacadmin
- 配置vnc
- 这时候点击test1已经可以正常连接到图形页面了。
- VNC小知识:启动VNC的时候不用非得用systemctl启动 直接用普通用户启动 然后指定端口号就行