Docker安装部署Guacamole

本文详细描述了如何通过docker-compose.yml文件来配置和管理Guacamole容器,包括MySQL数据库、guacd和Web服务器的设置,以及如何拉取和解压相关插件。最终步骤是通过docker-composeup命令启动并访问Guacamole服务。
摘要由CSDN通过智能技术生成

拉取镜像

容器编排

# 创建程序主目录
mkdir -p /opt/guacamole
# 创建插件目录
mkdir -p /opt/guacamole/extensions
# 创建录像目录
mkdir -p /opt/guacamole/recordings
# 创建数据库初始化脚本目录
mkdir -p /opt/guacamole/initdb.d
# 链接插件
guacamole-auth-quickconnect-1.5.4.tar.gz
# 存储插件
guacamole-history-recording-storage-1.5.4.tar.gz
# 解压插件
tar -zxvf guacamole-auth-quickconnect-1.5.4.tar.gz
tar -zxvf guacamole-history-recording-storage-1.5.4.tar.gz
# 移动插件至插件目录
mv guacamole-auth-quickconnect-1.5.4/guacamole-auth-quickconnect-1.5.4.jar /opt/guacamole/extensions/
mv guacamole-history-recording-storage-1.5.4/guacamole-history-recording-storage-1.5.4.jar /opt/guacamole/extensions/
# 配置插件目录所有者 1001为guacamole容器内的guacamole用户UID和GID
chown -R 1001.1001 /opt/guacamole/extensions

# 配置插件目录权限
chmod -R 755 /opt/guacamole/extensions
# 配置录像目录所有者
# 1000为guacd容器内的guacd用户UID
# 1001为guacamole容器内的guacamole用户组GID
chown 1000.1001 /opt/guacamole/recordings
# 配置插件目录权限
chmod 2750 /opt/guacamole/recordings
# 运行guacamole容器生成数据库初始化脚本
docker run --rm guacamole/guacamole:1.5.4 /opt/guacamole/bin/initdb.sh --mysql > /opt/guacamole/initdb.d/initdb.sql

 

容器编排文件

查看docker-compose.yml

services:
  guacamole-mysql:
      image: mysql:8.0.18
      container_name: guacamole-mysql
      volumes:
        - /etc/localtime:/etc/localtime:ro
        # 数据库数据绑定至guacamole-mysql-data卷
        - guacamole-mysql-data:/var/lib/mysql
        # 数据库初始化脚本
        - /opt/guacamole/initdb.d/initdb.sql:/docker-entrypoint-initdb.d/initdb.sql
      command:
        - "--character-set-server=utf8"
        - "--collation-server=utf8_bin"
      restart: always
      environment:
        # 数据库root密码
        - MYSQL_ROOT_PASSWORD=2477bb2991dd472094d118ad9bafa0ce
        # 数据库名
        - MYSQL_DATABASE=guacamole
        # 数据库用户
        - MYSQL_USER=guacamole
        # 数据库密码
        - MYSQL_PASSWORD=fea78183e72c4e7798e1d803e2d36109
      ports:
        - "3306:3306"
      expose:
        - "3306"
      networks:
        guacamole_network:

  guacamole-guacd:
    image: guacamole/guacd:1.5.4
    container_name: guacamole-guacd
    volumes:
      - /etc/localtime:/etc/localtime:ro
      # 录像目录
      - /opt/guacamole/recordings:/var/lib/guacamole/recordings
    restart: always
    ports:
        - "4822:4822"
    expose:
        - "4822"
    networks:
      guacamole_network:

  guacamole-web:
    image: guacamole/guacamole:1.5.4
    container_name: guacamole-web
    volumes:
      - /etc/localtime:/etc/localtime:ro
      # 录像目录
      - /opt/guacamole/recordings:/var/lib/guacamole/recordings
      # 插件目录
      - /opt/guacamole/extensions:/etc/guacamole/extensions
    restart: always
    environment:
      # guacd主机名
      - GUACD_HOSTNAME=guacamole-guacd
      # guacd端口
      - GUACD_PORT=4822
      # 首选认证方式
      - EXTENSION_PRIORITY=mysql
      # 数据库主机名
      - MYSQL_HOSTNAME=guacamole-mysql
      # 数据库端口
      - MYSQL_PORT=3306
      # 数据库名
      - MYSQL_DATABASE=guacamole
      # 数据库用户
      - MYSQL_USER=guacamole
      # 数据库密码
      - MYSQL_PASSWORD=fea78183e72c4e7798e1d803e2d36109
      # guacamole主目录(插件、库、配置等)
      - GUACAMOLE_HOME=/etc/guacamole
      # 会话超时时间 单位: 分钟
      - API_SESSION_TIMEOUT=60
    ports:
      - "80:8080"
    networks:
      guacamole_network:


networks:
  guacamole_network:
    name: "guacamole_network"
    driver: bridge
    ipam:
      config:
        - subnet: 172.31.125.0/24
          gateway: 172.31.125.1


volumes:
  # 数据库数据卷
  guacamole-mysql-data:
    name: "guacamole-mysql-data"

mv docker-compose.yml /opt/guacamole

运行容器

# 进入目录
cd /opt/guacamole
# 启动容器
docker compose up -d

使用

浏览器访问:http://IP地址/guacamole
用户名:guacadmin
密码:guacadmin

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值