【转载】Next Terminal | docker 安装

Posted by

本文由 简悦 SimpRead 转码, 原文地址 next-terminal.typesafe.cn

Next Terminal 官方文档

提示:国内用户可以使用阿里云镜像仓库

  • guacd registry.cn-beijing.aliyuncs.com/dushixiang/guacd
  • next-terminal registry.cn-beijing.aliyuncs.com/dushixiang/next-terminal

使用 sqlite 存储数据 #

在任意位置创建文件夹 next-terminal ,然后在此文件夹下创建 docker-compose.yml 并写入如下内容:

yaml

version: '3.3'
services:
  guacd:
    image: dushixiang/guacd:latest
    volumes:
      - ./data:/usr/local/next-terminal/data
    restart:
          always
  next-terminal:
    image: dushixiang/next-terminal:latest
    environment:
      DB: sqlite
      GUACD_HOSTNAME: guacd
      GUACD_PORT: 4822
    ports:
      - "8088:8088"
    volumes:
      - /etc/localtime:/etc/localtime
      - ./data:/usr/local/next-terminal/data
    restart:
      always

前台启动命令

后台启动命令

使用 mysql 存储数据 #

在任意位置创建文件夹 next-terminal ,然后在此文件夹下创建 docker-compose.yml 并写入如下内容:

yaml

version: '3.3'
services:
  mysql:
    image: mysql:8.0
    environment:
      MYSQL_DATABASE: next-terminal
      MYSQL_USER: next-terminal
      MYSQL_PASSWORD: next-terminal
      MYSQL_ROOT_PASSWORD: next-terminal
    volumes:
      - ./data/mysql:/var/lib/mysql
    restart:
          always
  guacd:
    image: dushixiang/guacd:latest
    volumes:
      - ./data:/usr/local/next-terminal/data
    restart:
          always
  next-terminal:
    image: dushixiang/next-terminal:latest
    environment:
      DB: mysql
      MYSQL_HOSTNAME: mysql
      MYSQL_PORT: 3306
      MYSQL_USERNAME: next-terminal
      MYSQL_PASSWORD: next-terminal
      MYSQL_DATABASE: next-terminal
      GUACD_HOSTNAME: guacd
      GUACD_PORT: 4822
    ports:
      - "8088:8088"
    volumes:
      - /etc/localtime:/etc/localtime
      - ./data:/usr/local/next-terminal/data
    depends_on:
      - mysql
    restart:
      always

前台启动命令

后台启动命令

使用外部的 mysql 存储数据 #

在任意位置创建文件夹 next-terminal ,然后在此文件夹下创建 docker-compose.yml 并写入如下内容:

yaml

version: '3.3'
services:
  guacd:
    image: dushixiang/guacd:latest
    volumes:
      - ./data:/usr/local/next-terminal/data
    restart:
          always
  next-terminal:
    image: dushixiang/next-terminal:latest
    environment:
      DB: mysql
      # 请修改下面的 MySql 配置,需自行创建数据库和用户
      MYSQL_HOSTNAME: mysql
      MYSQL_PORT: 3306
      MYSQL_USERNAME: next-terminal
      MYSQL_PASSWORD: next-terminal
      MYSQL_DATABASE: next-terminal
      # 请修改上面的 MySql 配置,需自行创建数据库和用户
      GUACD_HOSTNAME: guacd
      GUACD_PORT: 4822
    ports:
      - "8088:8088"
    volumes:
      - /etc/localtime:/etc/localtime
      - ./data:/usr/local/next-terminal/data
    restart:
      always

前台启动命令

后台启动命令

开启 sshd 服务 #

以 sqlite 模式为例,修改 docker-compose.yml,增加 高亮 区域的配置

yaml

version: '3.3'
services:
  guacd:
    image: dushixiang/guacd:latest
    volumes:
      - ./data:/usr/local/next-terminal/data
    restart:
          always
  next-terminal:
    image: dushixiang/next-terminal:latest
    environment:
      DB: sqlite
      GUACD_HOSTNAME: guacd
      GUACD_PORT: 4822
      SSHD_ENABLE: "true"
    ports:
      - "8088:8088"
      - "8089:8089"
    volumes:
      - /etc/localtime:/etc/localtime
      - ./data:/usr/local/next-terminal/data
      - ~/.ssh/id_rsa:/root/.ssh/id_rsa
    restart:
          always

接下来使用 next-terminal 中的用户即可使用。 示例:

bash

ssh admin@127.0.0.1 -p 8089

docker-compose 更新方式 #

bash

docker-compose pull && docker-compose restart

使用 docker 命令安装 #

bash

# 安装 guacd
docker run --restart=always --name guacd -d \
  -v /root/next-terminal/data:/usr/local/next-terminal/data \
  dushixiang/guacd:latest
# 安装 next-terminal
docker run --restart=always --name next-terminal -d \
  --link guacd \
  -p 8088:8088 \
  -v /root/next-terminal/data:/usr/local/next-terminal/data \
  -v /etc/localtime:/etc/localtime \
  -e DB=sqlite \
  -e GUACD_HOSTNAME=guacd \
  -e GUACD_PORT=4822 \
  dushixiang/next-terminal:latest \

环境变量 #

参数含义默认值
DB数据库类型,可选 [‘sqlite’,’mysql’]sqlite
SQLITE_FILEsqlite 数据库文件存放地址/usr/local/next-terminal/data/sqlite/next-terminal.db
MYSQL_HOSTNAMEmysql 数据库地址127.0.0.1
MYSQL_PORTmysql 数据库端口3306
MYSQL_USERNAMEmysql 数据库用户next-terminal
MYSQL_PASSWORDmysql 数据库密码next-terminal
MYSQL_DATABASEmysql 数据库名称next-terminal
SERVER_ADDR服务器监听地址0.0.0.0:8088
ENCRYPTION_KEY授权凭证和资产的密码,密钥等敏感信息加密的 keynext-terminal
GUACD_HOSTNAMEGuacd 服务地址127.0.0.1
GUACD_PORTGuacd 服务监听端口4822
GUACD_RECORDING录屏文件保存目录/usr/local/next-terminal/data/recording
GUACD_DRIVE远程桌面挂载盘根目录/usr/local/next-terminal/data/drive
SSHD_ENABLE是否开启 sshd 服务false
SSHD_ADDRsshd 服务监听的地址0.0.0.0:8089
SSHD_KEYsshd 服务使用私钥路径~/.ssh/id_rsa

Leave a Reply

您的邮箱地址不会被公开。 必填项已用 * 标注