环境:vmware+centos 7.9
gucamole环境部署在centos中,其他机器通过浏览器访问
参考安装文档
Installing Guacamole with Docker — Apache Guacamole Manual v1.4.0
guacamole官网
Apache Guacamole™
一.安装docker
# 阿里云镜像
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 官方镜像
curl -fsSL https://get.docker.com | bash -s docker
安装后开启docker
systemctl start docker.service
设置docker开机启动
systemctl enable docker.service
给root以外的用户docker权限
dockerd-rootless-setuptool.sh install
docker的安装和使用就不多作介绍了。可以自行百度
二.安装3个镜像
docker pull guacamole/guacamole
docker pull guacamole/guacd
docker pull mysql
官方支持PostgreSQL和MySQL两种数据库,没用过PostgreSQL所以就选用了MySql
guacamole/guacamole和guacamole/guacd的介绍在安装链接的页面有介绍,简言之,guacd提供VNC、RDP、SSH等协议,guacamole提供web程序,是其他机器通过浏览器可以访问
查看安装的镜像
[root@localhost Jhon]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
guacamole/guacamole latest b37c41d43ef1 9 hours ago 642MB
mysql latest 65b636d5542b 3 weeks ago 524MB
guacamole/guacd latest 41f2384b0061 3 weeks ago 271MB
三.初始化mysql数据库
生成数据库文件:guacamole需要手动生成sql的导入文件,然后用mysql导入数据
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql
--rm参数在docker执行完毕后会清空运行时产生的数据,mysql数据重定向到当前目录的initdb.sql
导入mysql:先启动mysql镜像,然后进入容器中的命令行,执行mysql命令
#启动mysql镜像,生成名为mysql的容器,设置root默认密码为123456,
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql
#复制guacamole生成的sql文件到mysql容器中
docker cp initdb.sql mysql:/
# 进入MySQL容器:
docker exec -it mysql bash
# 在容器内以root用户,和启动时设置的密码进入数据库
mysql -uroot -p123456
# 创建数据库:
mysql > create database guac;
mysql > use guac;
# 导入数据:
mysql > source /initdb.sql
mysql > exit
四.运行guacd
docker run --name guacd -d guacamole/guacd
提供VNC、RDP、SSH协议
五.运行guacamole
docker run --name guacamole --link guacd:guacd --link mysql:mysql -e MYSQL_DATABASE=guac -e MYSQL_USER=root -e MYSQL_PASSWORD=123456 -d -p 8080:8080 guacamole/guacamole
guacamole提供web应用程序,使浏览器可以访问,端口代理为8080到8080所以直接访问http://127.0.0.1:8080/guacamole即可
![](https://img-blog.csdnimg.cn/cdfae223ffcf468a84ea9cc77fce4336.png)
地址不要写错了,http://ip:8080/guacamole,直接写http://ip:8080会提示not found
![](https://img-blog.csdnimg.cn/9582257f86104ac2a9dbecb20798a775.png)
guacamole部署为服务器,所以一般不会在服务器上用127.0.0.1访问,而是在其他电脑上通过ip端口号访问
![](https://img-blog.csdnimg.cn/b722755472ed4af9be128af8471119f7.png)
默认用户名和密码都是:guacadmin
登陆后可以通过设置->连接建立远程桌面访问
![](https://img-blog.csdnimg.cn/d263bce37ac943b98b89a1b4dee2230f.png)
.。。。。。
![](https://img-blog.csdnimg.cn/96070f4f041c4130818772b6bde5c5ba.png)
需要配置的参数如下:
连接的名称和协议:
![](https://img-blog.csdnimg.cn/7448e7558c934085906af627e0512bed.png)
连接的地址和用户
![](https://img-blog.csdnimg.cn/9aa2596f018d46718bfd327e750ab892.png)
接下来就是guacamole的基本使用方法了。可以自行去官网或者百度学习
服务器系统重启后,只需要启动对应的docker 容器即可
如果docker没有启动,需要先启动docker服务
systemctl start docker.service
docker start mysql
docker start guacd
docker start guacamole
####如果要进入docker的命令行排查问题#####
docker exec -it guacamole /bin/bash
# 以root用户权限进入
docker exec -it -u root guacamole /bin/bash
坑:
1.windows主机与虚拟机中的centos不能互相ping通
ifconfig docker0 down
docker0是docker创建的虚拟网卡