1. 安装Docker和Docker Compose

如果尚未安装,请先安装Docker和Docker Compose:

# 安装Docker
curl -fsSL https://get.docker.com | sh
sudo systemctl start docker
sudo systemctl enable docker

# 安装Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

2. 创建Docker Compose文件

创建一个目录并编写 docker-compose.yml

mkdir guacamole && cd guacamole
nano docker-compose.yml

将以下内容粘贴到文件中(使用MySQL作为数据库):

version: '3'

services:
  guacd:
    image: guacamole/guacd
    container_name: guacd
    restart: always
    volumes:
      - ./drive:/drive:rw
      - ./record:/record:rw
    networks:
      - guacamole

  mysql:
    image: mysql:8.0
    container_name: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: your_mysql_root_password
      MYSQL_DATABASE: guacamole_db
      MYSQL_USER: guacamole_user
      MYSQL_PASSWORD: guacamole_password
    volumes:
      - mysql_data:/var/lib/mysql
    networks:
      - guacamole

  guacamole:
    image: guacamole/guacamole
    container_name: guacamole
    restart: always
    depends_on:
      - guacd
      - mysql
    environment:
      GUACD_HOSTNAME: guacd
      MYSQL_HOSTNAME: mysql
      MYSQL_DATABASE: guacamole_db
      MYSQL_USER: guacamole_user
      MYSQL_PASSWORD: guacamole_password
    ports:
      - "8080:8080"
    networks:
      - guacamole

volumes:
  mysql_data:

networks:
  guacamole:

注意:替换环境变量中的密码(如 your_mysql_root_password, guacamole_password)。


3. 启动Guacamole服务

docker-compose up -d

4. 初始化数据库

Guacamole首次启动时会自动初始化数据库。如果遇到问题,可手动执行:

# 下载数据库初始化脚本
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql

# 将脚本导入MySQL容器
docker exec -i mysql mysql -u root -pyour_mysql_root_password guacamole_db < initdb.sql

5. 访问Guacamole Web界面

浏览器访问 http://你的服务器IP:8080/guacamole,使用默认账号登录:

  • 用户名:guacadmin
  • 密码:guacadmin

首次登录后请立即修改密码!


6. 配置远程桌面连接

  1. 登录后点击右上角 Settings
  2. 选择 Connections,点击 New Connection
  3. 填写连接信息:
    • Name: 自定义连接名称(如 My-RDP)。
    • Protocol: 选择协议(如RDP、SSH、VNC)。
    • Parameters:
      • RDP示例:
        Hostname: 目标主机IP
        Port: 3389
        Username: 远程主机用户名
        Password: 远程主机密码
        

7. 高级配置(可选)

  • SSL加密:使用Nginx反向代理配置HTTPS。
  • 持久化存储:确保数据库卷(mysql_data)已挂载,避免数据丢失。
  • 防火墙:开放端口8080(或自定义端口)。

常见问题

  • 容器启动失败:检查日志 docker logs guacamole
  • 数据库连接失败:确认MySQL容器运行正常,环境变量正确。
  • 无法连接远程主机:检查目标主机防火墙是否放行协议端口(如RDP的3389)。

通过以上步骤,您可以在Linux环境下快速部署Guacamole,并通过Web界面管理多种远程桌面协议。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐