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 是一个客户端无插件的远程桌面网关。它支持标准协议,如 VNC、RDP 和 SSH。您可以使用任何现代 web 浏览器连接到您的桌面环境,而无需安装额外的软件。使用 Docker Compose 部署 Guacamole,如果没有docker-compose请先执行su…...
.baxia勒索病毒来袭:数据恢复与防护措施详解
导言 在当今这个信息化高速发展的时代,数据已成为企业和个人的核心资产,其价值不可估量。然而,随着网络技术的不断进步,网络安全威胁也日益严峻,其中勒索病毒作为一种新型的网络攻击手段,尤其是.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 是一款突破性的灵活应变无线电平台,可强化数字前端 (DFE),用于 5G 大规模无线电部署和广泛的其他射频应用。 Zynq RFSoC DFE 基于唯一经过生产验证的自适应单芯片无线电…...
Ubuntu学习笔记 - Day3
文章目录 学习目标:学习内容:学习笔记:vim简介vim键盘图工作模式 vim移动光标操作上下左右移动翻页 vim替换和删除操作替换删除 vim插入模式详解进入模式搜索 vim底行模式操作保存退出行号 学习目标: 一周掌握 Linux基本使用技巧 …...
scala list系列
dd list:有序的,链表 1.建立 不可变列表 2.通过下标来访问:下标从0开始 3.不能修改 4.添加 5.删除 6.合并 7.查找,判断元素是否存在 8.遍历...
TLS协议基本原理与Wireshark分析_wireshark分析tls协议
01****背 景 随着车联网的迅猛发展,汽车已经不再是传统的机械交通工具,而是智能化、互联化的移动终端。然而,随之而来的是对车辆通信安全的日益严峻的威胁。在车联网生态系统中,车辆通过无线网络与其他车辆、基础设施以及云端服务…...
【359】基于springboot的智慧草莓基地管理系统
摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本智慧草莓基地管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据…...
【智能算法应用】遗传算法求解车间布局优化问题
摘要 本文研究了基于遗传算法(Genetic Algorithm, GA)的车间布局优化方法。遗传算法是一种基于自然选择和遗传机制的优化算法,通过编码布局方案、交叉和变异操作生成新的布局个体,选择最优的车间布局方案。实验结果表明ÿ…...
java 中List 的使用
List集合是Collection接口的子接口,其下有两个实现类分别为ArrayList和 LinkedList List是一个接口,不能用new创建对象,需要用 ArrayList类 和 LinkedList类 来创建 特点 有序:存储元素的顺序和取出元素的顺序一致可以重复&…...
CSS学习之Grid网格布局基本概念、容器属性
网格布局 网格布局(Grid)是将网页划分成一个个网格单元,可任意组合不同的网格,轻松实现各种布局效果,也是目前CSS中最强大布局方案,比Flex更强大。 基本概念 容器和项目 当一个 HTML 元素将 display 属性…...
前后端交互接口(二)
前后端交互接口(二) 前言 在上一集我们约定了我们前后端交互接口的三条规则。这一集我们就先来看一看我们的一些proto文件。 浅看proto文件 在看文件之前,还是简单谈谈Protobuf Protobuf通过一个.proto文件定义数据结构,这个…...
HarmonyOs DevEco Studio小技巧28--部分鸿蒙生命周期详解
目录 前言 页面和自定义组件生命周期 页面生命周期 onPageShow --- 表示页面已经显示 onPageHide --- 表示页面已经隐藏 onBackPress --- 表示用户点击了返回键 组件生命周期 aboutToAppear --- 表示组件即将出现 onDidBuild --- 表示组件已经构建完成 aboutToDisap…...
STM32(hal库)的msp初始化HAL_TIM_Base_MspInit有什么用?为什么单独设置这个,而不是在timer_init()函数里直接初始化?
在STM32 HAL库中,HAL_TIM_Base_MspInit 函数是一个与定时器(TIM)相关的底层初始化函数,其名称中的 "Msp" 代表 MCU Service Package(微控制器服务包),这是HAL库的一部分,用…...
三品PLM系统如何规范企业图纸文档资料电子化管理
三品PLM系统如何规范企业图纸文档资料电子化管理 图纸文档是企业设计、生产、管理的重要信息载体,是产品设计与生产维护的关键。传统纸质归档已无法满足现代需求,电子化管理成为提升效率和文档一致性的重要手段。然而,许多企业在实施电子化管…...
鸿蒙开发:arkts 如何读取json数据
为了支持ArkTS语言的开发,华为提供了完善的工具链,包括代码编辑器、编译器、调试器、测试工具等。开发者可以使用这些工具进行ArkTS应用的开发、调试和测试。同时,华为还提供了DevEco Studio这一一站式的开发平台,为运行在Harmony…...
Java学习篇之JVM 调优
Java学习篇之JVM 调优 一、JVM 是什么?二、JVM 官方参数建议三、JVM调优的场景四、如何监控JVM五、JVM调优的流程步骤1. 明确优化目标2. 监控和分析3. 确定调优参数4. 实施调优策略5. 持续观察和调整6. 定期评估和优化 一、JVM 是什么? JVM,…...
LangChain上使用huggingface的embedding模型(如jina-embeddings-v3)
一、背景知识 embedding将文本映射到稠密的向量空间中,方便存储和查询。 huggingface的embedding榜单 这里结合自己的应用场景,选择1b以下的embedding模型,综合考量下选择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加密,好开始逆向js 全局搜索发现使用国密SM2进行加密 模拟算法 js 使用js进行模拟算法 <…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...
恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
