使用Guacamole实现远程桌面控制
项目需求要做到到远程连接桌面需求,经小组讨论采用Gacamole技术实现
Guacamole前期探讨
使用docker安装Guacamole
1.安装DOCKER,使用官方一键安装脚本部署,已安装的直接忽略
# 国内服务器使用
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 国外服务器使用
curl -fsSL https://get.docker.com | bash -s docker
2.获取dockers镜像
docker pull guacamole/guacamole
docker pull guacamole/guacd
3.数据库:官方支持PostgreSQL和MySQL两种,这里使用常用的MySQL
docker pull mysql
4.镜像拉取完成后检查一下
docker image ls
准备就绪后开始部署服务。
部署mysql
5.运行docker容器
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=sim mysql
Guacamole程序不会自动初始化数据库,运行MySQL之后需要手动初始化数据库,而Guacamole提供了数据库文件,只需要生成导入就可以了。初始化设置了数据库密码为sim
生成数据库文件:
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
运行Guacdmole:
docker run --name guacamole --link guacd:guacd --link mysql:mysql -e MYSQL_DATABASE=guac -e MYSQL_USER=root -e MYSQL_PASSWORD=sim -d -p 8080:8080 guacamole/guacamole
运行起来后大概初始化十秒钟,在浏览器打开 http://ip:8080/guacamole
通过ssh配置连接主机的参数 我的配置如下
回到首页连接实现连接