使用Docker部署Guacamole

2024-03-05 01:32
文章标签 部署 使用 docker guacamole

本文主要是介绍使用Docker部署Guacamole,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用Docker部署Guacamole

Apache Guacamole 是一个无客户端的远程桌面网关。它支持标准协议,如 VNC、RDP 和 SSH,甚至还支持k8s、telnet连接。它可以在任何有网络的地方连接上你的服务器和Windows主机。可以同时连接多个终端,并且能够无缝切换。

部署教程

安装docker

首先需要安装Docker,使用官方一键安装脚本部署,已安装的直接忽略

# 国内服务器使用
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 国外服务器使用
curl -fsSL https://get.docker.com | bash -s docker

获取dockers镜像

docker pull guacamole/guacamole
docker pull  guacamole/guacd

数据库:官方支持PostgreSQL和MySQL两种,这里使用常用的MySQL

docker pull mysql

镜像拉取完成后检查一下

docker image ls

如下:
docker
准备就绪后开始部署服务。

部署mysql

运行docker容器

docker run  -d --name mysql -e MYSQL_ROOT_PASSWORD=sim 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

运行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 9090:8080 guacamole/guacamole

运行起来后大概初始化十秒钟,在浏览器打开 http://ip:8080/guacamole
guacmole
默认账号密码均为:guacadmin

添加session

打开settings
settings
然后进入
connection
添加相应的信息
edit
编辑完成后可以保存。然后选择home
home
就可以了点击相应的标签进入界面了

更新2022/01/17

传说中guacamole的RDP支持设备重定向功能,经实测,设备重定向功能和mstc的设备本地资源不是一回事儿,mstc中的本地资源是可以将使用mstc的计算机上的资源映射到远程虚拟机上,而guacamole的RDP的设备重定向仅仅是将guacamole server上的目录映射到虚拟机上,如下图:
设备重定向
这里“虚拟盘路径”实际上是guacamole服务器上的一个目录,
guaserver
实际效果如下图所示
在这里插入图片描述

这篇关于使用Docker部署Guacamole的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/774900

相关文章

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有