环境: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即可

docker chrome 安装路径 docker安装谷歌浏览器_docker

 地址不要写错了,http://ip:8080/guacamole,直接写http://ip:8080会提示not found

docker chrome 安装路径 docker安装谷歌浏览器_docker chrome 安装路径_02

 guacamole部署为服务器,所以一般不会在服务器上用127.0.0.1访问,而是在其他电脑上通过ip端口号访问

docker chrome 安装路径 docker安装谷歌浏览器_RDP_03

默认用户名和密码都是:guacadmin

登陆后可以通过设置->连接建立远程桌面访问

docker chrome 安装路径 docker安装谷歌浏览器_RDP_04

 .。。。。。

docker chrome 安装路径 docker安装谷歌浏览器_bash_05

需要配置的参数如下:

连接的名称和协议:

docker chrome 安装路径 docker安装谷歌浏览器_docker_06

 连接的地址和用户

docker chrome 安装路径 docker安装谷歌浏览器_docker chrome 安装路径_07

接下来就是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创建的虚拟网卡