docker搭建guacamole,web远程桌面

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

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

1.创建目录:

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

bash 复制代码
mkdir guacamole-docker
cd guacamole-docker

2.创建 docker-compose.yml 文件:

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

yaml 复制代码
version: '3'

services:
  db:
    image: mariadb:10.6.18
    container_name: guac-db
    environment:
      - MYSQL_ROOT_PASSWORD=your_password
      - MYSQL_DATABASE=guacamole_db
      - MYSQL_USER=guacamole
      - MYSQL_PASSWORD=guacamole
    volumes:
      - guac-db-data:/var/lib/mysql
    ports:
      - "3306:3306"
    restart: always

  guacd:
    image: guacamole/guacd:latest
    container_name: guacd
    ports:
      - "4822:4822"
    restart: always

  guacamole:
    image: guacamole/guacamole:latest
    container_name: guacamole
    depends_on:
      - db
      - guacd
    environment:
      - GUACD_HOSTNAME=宿主机IP
      - GUACD_PORT=4822
      - MYSQL_HOSTNAME=宿主机IP
      - MYSQL_PORT=3306
      - MYSQL_DATABASE=guacamole_db
      - MYSQL_USER=guacamole
      - MYSQL_PASSWORD=guacamole
    ports:
      - "8080:8080"
    volumes:
      - /opt/guacamole/guacamole.properties:/etc/guacamole/guacamole.properties
    restart: always
volumes:
  guac-db-data:

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

3.初始化数据库:

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

bash 复制代码
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql

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

bash 复制代码
root:/opt/guacamole# ls
docker-compose.yml  initdb.sql

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

bash 复制代码
docker exec -i guacdb mysql -uguacamole -pguacamole guacamole_db < initdb.sql

4.启动服务:

现在可以启动 Guacamole 服务了。

bash 复制代码
docker-compose down
docker-compose up -d

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

注意事项

复制代码
安全性:请确保更改默认的管理员密码,并考虑使用 HTTPS 来保护您的连接。
持久化数据:上述配置将 PostgreSQL 数据库的数据存储在一个 Docker 卷中 (guacdb-data),这意味着即使容器被删除,数据仍然会被保留。
资源限制:根据您的需求调整 Docker 容器的资源限制(如 CPU 和内存),以确保良好的性能。
相关推荐
A_nanda41 分钟前
根据AI提示排查vue前端项目
前端·javascript·vue.js
happymaker06261 小时前
web前端学习日记——DAY05(定位、浮动、视频音频播放)
前端·学习·音视频
枕书1 小时前
实战记录:如何使用 Docker 一键部署长亭 PandaWiki 智能知识库
运维·docker·容器
~无忧花开~1 小时前
React状态管理完全指南
开发语言·前端·javascript·react.js·前端框架
LegendNoTitle2 小时前
计算机三级等级考试 网络技术 选择题考点详细梳理
服务器·前端·经验分享·笔记·php
@大迁世界2 小时前
1.什么是 ReactJS?
前端·javascript·react.js·前端框架·ecmascript
BJ-Giser3 小时前
Cesium 基于EZ-Tree的植被效果
前端·可视化·cesium
Cyber4K3 小时前
【妙招系列】Harbor 镜像私有仓库搭建手册
linux·云原生·容器
王码码20354 小时前
Flutter for OpenHarmony:Flutter 三方库 algoliasearch 毫秒级云端搜索体验(云原生搜索引擎)
android·前端·git·flutter·搜索引擎·云原生·harmonyos
发现一只大呆瓜4 小时前
深入浅出 AST:解密 Vite、Babel编译的底层“黑盒”
前端·面试·vite