云Docker部署Guacamole经frp中转远程连接Windows

devtools/2024/9/24 23:26:39/

安装frps

sudo nohup ./frps -c frps.ini >/dev/null 2>&1 &

frps.ini

[common]
bind_port = 7000# Virtual host configuration
vhost_http_port = 80
vhost_https_port = 443# Dashboard configuration
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = axxx
dashboard_pwd = axxx# logs
log_file = ./frps.log
log_level = info
log_max_days = 3# auth token
token = xxxmax_pool_count = 5
max_ports_per_client = 0
authentication_timeout = 900
tcp_mux = true

frpc.ini

[common]
server_addr = 106.5xx.xxx.xxx
server_port = 7000
log_file = ./frpc.log
log_level = info
log_max_days = 3
token = xxx
pool_count = 5
tcp_mux = true
login_fail_exit = true
protocol = tcp[win10-3389]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389

下载guacamole docker image

docker pull guacamole/guacamole
docker pull  guacamole/guacddocker pull mysql

查看全部镜像

sudo docker images -a
REPOSITORY                     TAG       IMAGE ID       CREATED         SIZE
guacamole/guacd                latest    0dd3a5c4b8cb   30 hours ago    242MB
guacamole/guacamole            latest    4c1182070c24   31 hours ago    511MB
mysql                          latest    6f343283ab56   4 weeks ago     632MB
rustdesk/rustdesk-server-pro   latest    0c9ee5f6bfce   3 months ago    205MB
rustdesk/rustdesk-server       latest    2970501b7978   4 months ago    96.3MB

部署MySQL

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容器:
sudo docker exec -it mysql bash
# 在容器内运行,进入数据库
mysql -uroot -psim# 创建一个数据库:
mysql > create database guac;
# 选择数据库:
mysql > use guac;
# 导入数据:
mysql > source /initdb.sql
部署Guacd
docker run --name guacd -d guacamole/guacd
部署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:9090/guacamole

默认账号密码均为:guacadmin

登入后首页,选择设置,开始配置远程电脑连接参数

新建连接

Windows使用如下配置

全部命令记录

sudo nohup ./frps -c frps.ini >/dev/null 2>&1 &sudo docker pull guacamole/guacamole
sudo docker pull guacamole/guacd
sudo docker pull mysqlsudo docker run  -d --name mysql -e MYSQL_ROOT_PASSWORD=sim mysql
sudo docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql
sudo docker ps -asudo docker cp initdb.sql mysql:/
sudo docker exec -it mysql bash
# 执行数据库操作sudo docker run --name guacd -d guacamole/guacd
sudo docker ps -a
sudo 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

参考文章:

使用Docker部署Guacamole_guacamole docker-CSDN博客


http://www.ppmy.cn/devtools/13142.html

相关文章

实验:使用apache + yum实现自制yum仓库

实验准备 Web服务器端:cenos-1(IP:10.9.25.33) 客户端:centos-2 保证两台机器网络畅通,原yum仓库可用,关闭防火墙和selinux Web服务器端 ①安装httpd并运行,设置开机自启动 安装…

MySQL数据类型

文章目录 1. 数据类型分类2. 数值类型2.1 整数类型2.2 bit类型2.3 浮点类型 3. 字符串类型3.1 char3.2 varchar3.3 日期、时间类型3.4 enum和set 1. 数据类型分类 2. 数值类型 2.1 整数类型 类型字节最小值(有符号/无符号)最大值(有符号/无…

专业引领,品质先行——律企达法务平台塑造行业新标杆

法律服务的专业性是衡量一个平台是否能够深得客户信赖的关键。律企达法务平台以其高度的专业服务,正逐步成为行业中的标杆。本文旨在从专业角度探讨律企达如何通过其专业优势,提供卓越的法律服务,以及这一优势如何帮助其赢得市场。 律企达法务…

ensp防火墙控制案例(防火墙控制无线,内网,dmz,外网,cloud云)

实验目的:分割四个网络,内网,外网,dmz区域,无线网络guest,cloud(配置防火墙web版本) 内网 可以访问 外网,dmz 外网 可以访问dmz 无线网路 可以访问dmz 和外网 拓扑图如下 出错点:私有ip分配的范围,开始用公网ip了,怎么也ping不同,后来改成私网ip就正常了,a…

getopt, getopt_long使用笔记

An element of argv that starts with - (and is not exactly "-" or "--") is an option element. The characters of this element (aside from the initial -) are option characters. 以-’开头的字符(注意!不是字符串!!)就是命令行参数选项 通…

Linux下的UDEV机制/守护进程

一. Udev机制概念引入 ( 需要在 etc/udev/rules.d/ 下创建设备的相关规则,不然有可能udev机制生成的设备文件不具备可读可写的权限,adb无法成功通过该设备文件访问设备 ) a. 创建文件夹 sudo vim Xiaomi-audroid.rules b. 添加规则 …

JS实现Promise.all、Promise.race手写

Promise.all 当所有的子Promise都完成,该Promise完成,返回值是全部值得数组。有任何一个失败,该Promise失败,返回值是第一个失败的子Promise结果。 function PromiseAll(arr) {const list Array.from(arr);let cur 0;const da…

Spring三级缓存源码解析

Spring三级缓存 前置知识三级缓存定义SpringBean生命周期 Bean的初始化getSingleton 分析加入一级缓存 CreateBean过程(A)A填充属性BB填充属性A,执行getSingleton(A)B完成初始化 前置知识 三级缓存定义 public class DefaultSingletonBeanRegistry ext…