当前位置: 首页 > news >正文

docker搭建guacamole,web远程桌面

	Apache Guacamole 是一个客户端无插件的远程桌面网关。它支持标准协议,如 VNC、RDP 和 SSH。您可以使用任何现代 web 浏览器连接到您的桌面环境,而无需安装额外的软件。

使用 Docker Compose 部署 Guacamole,如果没有docker-compose请先执行sudo apt install docker-compose安装

1.创建目录:

首先为 Guacamole 创建一个工作目录。

mkdir guacamole-docker
cd guacamole-docker

2.创建 docker-compose.yml 文件:
在这个目录中,创建一个 docker-compose.yml 文件,用于定义 Guacamole 服务及其依赖项。

version: '3'services:db:image: mariadb:10.6.18container_name: guac-dbenvironment:- MYSQL_ROOT_PASSWORD=your_password- MYSQL_DATABASE=guacamole_db- MYSQL_USER=guacamole- MYSQL_PASSWORD=guacamolevolumes:- guac-db-data:/var/lib/mysqlports:- "3306:3306"restart: alwaysguacd:image: guacamole/guacd:latestcontainer_name: guacdports:- "4822:4822"restart: alwaysguacamole:image: guacamole/guacamole:latestcontainer_name: guacamoledepends_on:- db- guacdenvironment:- GUACD_HOSTNAME=宿主机IP- GUACD_PORT=4822- MYSQL_HOSTNAME=宿主机IP- MYSQL_PORT=3306- MYSQL_DATABASE=guacamole_db- MYSQL_USER=guacamole- MYSQL_PASSWORD=guacamoleports:- "8080:8080"volumes:- /opt/guacamole/guacamole.properties:/etc/guacamole/guacamole.propertiesrestart: always
volumes:guac-db-data:

这个配置文件定义了三个服务:guacd (Guacamole 的代理服务),guacdb (用于存储 Guacamole 数据的 mariadb数据库),以及 guacserver (Guacamole 服务器)。

3.初始化数据库:

3.1在启动 Guacamole 之前,您需要初始化数据库。这通常涉及到创建数据库表结构。官方 Guacamole 文档提供了详细的说明,但您可以使用以下命令快速完成初始化:

docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql

这条命令会从 Guacamole 镜像中提取 SQL 脚本,并通过 Docker 执行这些脚本来初始化 guacdb 数据库。

root:/opt/guacamole# ls
docker-compose.yml  initdb.sql

3.2使用 docker exec 命令将初始化脚本导入到 MySQL 数据库中。

docker exec -i guacdb mysql -uguacamole -pguacamole guacamole_db < initdb.sql

4.启动服务:

现在可以启动 Guacamole 服务了。

docker-compose down
docker-compose up -d

5.访问 Guacamole:启动后,Guacamole 应该可以通过浏览器访问了,通常是 http://localhost:8080/guacamole。默认的用户名是 guacadmin,密码也是 guacadmin。首次登录后,系统会提示您更改密码。

注意事项

安全性:请确保更改默认的管理员密码,并考虑使用 HTTPS 来保护您的连接。
持久化数据:上述配置将 PostgreSQL 数据库的数据存储在一个 Docker 卷中 (guacdb-data),这意味着即使容器被删除,数据仍然会被保留。
资源限制:根据您的需求调整 Docker 容器的资源限制(如 CPU 和内存),以确保良好的性能。

相关文章:

docker搭建guacamole,web远程桌面

Apache Guacamole 是一个客户端无插件的远程桌面网关。它支持标准协议&#xff0c;如 VNC、RDP 和 SSH。您可以使用任何现代 web 浏览器连接到您的桌面环境&#xff0c;而无需安装额外的软件。使用 Docker Compose 部署 Guacamole&#xff0c;如果没有docker-compose请先执行su…...

.baxia勒索病毒来袭:数据恢复与防护措施详解

导言 在当今这个信息化高速发展的时代&#xff0c;数据已成为企业和个人的核心资产&#xff0c;其价值不可估量。然而&#xff0c;随着网络技术的不断进步&#xff0c;网络安全威胁也日益严峻&#xff0c;其中勒索病毒作为一种新型的网络攻击手段&#xff0c;尤其是.baxia勒索…...

[UUCTF 2022 新生赛]ezpop 详细题解(字符串逃逸)

知识点: php反序列化字符串逃逸 php反序列化魔术方法 构造pop链 变量引用 其实这一题还是比较简单的,只要看懂代码,并且理解为什么要用反序列化字符串逃逸,下面会详细解释 题目源码: <?php //flag in flag.php error_reporting(0); class UUCTF{public $name,$key,$…...

【Zynq UltraScale+ RFSoC】DFE

DFE : digital front-end 数字前端 Xilinx Zynq RFSoC DFE 是一款突破性的灵活应变无线电平台&#xff0c;可强化数字前端 &#xff08;DFE&#xff09;&#xff0c;用于 5G 大规模无线电部署和广泛的其他射频应用。 Zynq RFSoC DFE 基于唯一经过生产验证的自适应单芯片无线电…...

Ubuntu学习笔记 - Day3

文章目录 学习目标&#xff1a;学习内容&#xff1a;学习笔记&#xff1a;vim简介vim键盘图工作模式 vim移动光标操作上下左右移动翻页 vim替换和删除操作替换删除 vim插入模式详解进入模式搜索 vim底行模式操作保存退出行号 学习目标&#xff1a; 一周掌握 Linux基本使用技巧 …...

scala list系列

dd list:有序的&#xff0c;链表 1.建立 不可变列表 2.通过下标来访问&#xff1a;下标从0开始 3.不能修改 4.添加 5.删除 6.合并 7.查找&#xff0c;判断元素是否存在 8.遍历...

TLS协议基本原理与Wireshark分析_wireshark分析tls协议

01****背 景 随着车联网的迅猛发展&#xff0c;汽车已经不再是传统的机械交通工具&#xff0c;而是智能化、互联化的移动终端。然而&#xff0c;随之而来的是对车辆通信安全的日益严峻的威胁。在车联网生态系统中&#xff0c;车辆通过无线网络与其他车辆、基础设施以及云端服务…...

【359】基于springboot的智慧草莓基地管理系统

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本智慧草莓基地管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据…...

【智能算法应用】遗传算法求解车间布局优化问题

摘要 本文研究了基于遗传算法&#xff08;Genetic Algorithm, GA&#xff09;的车间布局优化方法。遗传算法是一种基于自然选择和遗传机制的优化算法&#xff0c;通过编码布局方案、交叉和变异操作生成新的布局个体&#xff0c;选择最优的车间布局方案。实验结果表明&#xff…...

java 中List 的使用

List集合是Collection接口的子接口&#xff0c;其下有两个实现类分别为ArrayList和 LinkedList List是一个接口&#xff0c;不能用new创建对象&#xff0c;需要用 ArrayList类 和 LinkedList类 来创建 特点 有序&#xff1a;存储元素的顺序和取出元素的顺序一致可以重复&…...

CSS学习之Grid网格布局基本概念、容器属性

网格布局 网格布局&#xff08;Grid&#xff09;是将网页划分成一个个网格单元&#xff0c;可任意组合不同的网格&#xff0c;轻松实现各种布局效果&#xff0c;也是目前CSS中最强大布局方案&#xff0c;比Flex更强大。 基本概念 容器和项目 当一个 HTML 元素将 display 属性…...

前后端交互接口(二)

前后端交互接口&#xff08;二&#xff09; 前言 在上一集我们约定了我们前后端交互接口的三条规则。这一集我们就先来看一看我们的一些proto文件。 浅看proto文件 在看文件之前&#xff0c;还是简单谈谈Protobuf Protobuf通过一个.proto文件定义数据结构&#xff0c;这个…...

HarmonyOs DevEco Studio小技巧28--部分鸿蒙生命周期详解

目录 前言 页面和自定义组件生命周期 页面生命周期 onPageShow --- 表示页面已经显示 onPageHide --- 表示页面已经隐藏 onBackPress --- 表示用户点击了返回键 组件生命周期 aboutToAppear --- 表示组件即将出现 onDidBuild --- 表示组件已经构建完成 aboutToDisap…...

STM32(hal库)的msp初始化HAL_TIM_Base_MspInit有什么用?为什么单独设置这个,而不是在timer_init()函数里直接初始化?

在STM32 HAL库中&#xff0c;HAL_TIM_Base_MspInit 函数是一个与定时器&#xff08;TIM&#xff09;相关的底层初始化函数&#xff0c;其名称中的 "Msp" 代表 MCU Service Package&#xff08;微控制器服务包&#xff09;&#xff0c;这是HAL库的一部分&#xff0c;用…...

三品PLM系统如何规范企业图纸文档资料电子化管理

三品PLM系统如何规范企业图纸文档资料电子化管理 图纸文档是企业设计、生产、管理的重要信息载体&#xff0c;是产品设计与生产维护的关键。传统纸质归档已无法满足现代需求&#xff0c;电子化管理成为提升效率和文档一致性的重要手段。然而&#xff0c;许多企业在实施电子化管…...

鸿蒙开发:arkts 如何读取json数据

为了支持ArkTS语言的开发&#xff0c;华为提供了完善的工具链&#xff0c;包括代码编辑器、编译器、调试器、测试工具等。开发者可以使用这些工具进行ArkTS应用的开发、调试和测试。同时&#xff0c;华为还提供了DevEco Studio这一一站式的开发平台&#xff0c;为运行在Harmony…...

Java学习篇之JVM 调优

Java学习篇之JVM 调优 一、JVM 是什么&#xff1f;二、JVM 官方参数建议三、JVM调优的场景四、如何监控JVM五、JVM调优的流程步骤1. 明确优化目标2. 监控和分析3. 确定调优参数4. 实施调优策略5. 持续观察和调整6. 定期评估和优化 一、JVM 是什么&#xff1f; JVM&#xff0c;…...

LangChain上使用huggingface的embedding模型(如jina-embeddings-v3)

一、背景知识 embedding将文本映射到稠密的向量空间中&#xff0c;方便存储和查询。 huggingface的embedding榜单 这里结合自己的应用场景&#xff0c;选择1b以下的embedding模型&#xff0c;综合考量下选择arkohut/jina-embeddings-v3 模型链接 下载 使用模型卡片提供的命令…...

对象优化及右值引用优化(一)

对象优化及右值引用优化 对象的函数调用时机 class Test { public:Test(int val 0) :val_(val) {cout << "Test::Test" << endl;}~Test(){cout << "Test::~Test" << endl;}Test(const Test& test){cout << "Tes…...

江西省技能培训平台(逆向破解登录国密SM2)

江西省技能培训平台(逆向破解登录) 登录破解(国密sm2加密方式) 请求接口 https://api.cloud.wozhipei.com/auth/user/v1/login 使用身份证和密码登录发现有password加密&#xff0c;好开始逆向js 全局搜索发现使用国密SM2进行加密 模拟算法 js 使用js进行模拟算法 <…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

MySQL JOIN 表过多的优化思路

当 MySQL 查询涉及大量表 JOIN 时&#xff0c;性能会显著下降。以下是优化思路和简易实现方法&#xff1a; 一、核心优化思路 减少 JOIN 数量 数据冗余&#xff1a;添加必要的冗余字段&#xff08;如订单表直接存储用户名&#xff09;合并表&#xff1a;将频繁关联的小表合并成…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...