Web应用中GoTTY终端工具的安装以及用法
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇文章为大家展示了Web应用中GoTTY终端工具的安装以及用法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。GoTTY 是一个简单的命令行工具,可将您的 C
千家信息网最后更新 2025年12月02日Web应用中GoTTY终端工具的安装以及用法
本篇文章为大家展示了Web应用中GoTTY终端工具的安装以及用法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
GoTTY 是一个简单的命令行工具,可将您的 CLI 工具变成 Web 应用。
1、安装 GoTTY
# Mac 版 brew install yudai/gotty/gotty
如果你有 GO 的环境,也可以通过如下方式安装:
go get github.com/yudai/gotty
2、GoTTY 用法
Usage: gotty [options][ ]
options
--address value, -a value IP address to listen (default: "0.0.0.0") [$GOTTY_ADDRESS] --port value, -p value Port number to liten (default: "8080") [$GOTTY_PORT] --permit-write, -w Permit clients to write to the TTY (BE CAREFUL) [$GOTTY_PERMIT_WRITE] --credential value, -c value Credential for Basic Authentication (ex: user:pass, default disabled) [$GOTTY_CREDENTIAL] --random-url, -r Add a random string to the URL [$GOTTY_RANDOM_URL] --random-url-length value Random URL length (default: 8) [$GOTTY_RANDOM_URL_LENGTH] --tls, -t Enable TLS/SSL [$GOTTY_TLS] --tls-crt value TLS/SSL certificate file path (default: "~/.gotty.crt") [$GOTTY_TLS_CRT] --tls-key value TLS/SSL key file path (default: "~/.gotty.key") [$GOTTY_TLS_KEY] --tls-ca-crt value TLS/SSL CA certificate file for client certifications (default: "~/.gotty.ca.crt") [$GOTTY_TLS_CA_CRT] --index value Custom index.html file [$GOTTY_INDEX] --title-format value Title format of browser window (default: "{{ .command }}@{{ .hostname }}") [$GOTTY_TITLE_FORMAT] --reconnect Enable reconnection [$GOTTY_RECONNECT] --reconnect-time value Time to reconnect (default: 10) [$GOTTY_RECONNECT_TIME] --max-connection value Maximum connection to gotty (default: 0) [$GOTTY_MAX_CONNECTION] --once Accept only one client and exit on disconnection [$GOTTY_ONCE] --timeout value Timeout seconds for waiting a client(0 to disable) (default: 0) [$GOTTY_TIMEOUT] --permit-arguments Permit clients to send command line arguments in URL (e.g. http://example.com:8080/?arg=AAA&arg=BBB) [$GOTTY_PERMIT_ARGUMENTS] --width value Static width of the screen, 0(default) means dynamically resize (default: 0) [$GOTTY_WIDTH] --height value Static height of the screen, 0(default) means dynamically resize (default: 0) [$GOTTY_HEIGHT] --ws-origin value A regular expression that matches origin URLs to be accepted by WebSocket. No cross origin requests are acceptable by default [$GOTTY_WS_ORIGIN] --term value Terminal name to use on the browser, one of xterm or hterm. (default: "xterm") [$GOTTY_TERM] --close-signal value Signal sent to the command process when gotty close it (default: SIGHUP) (default: 1) [$GOTTY_CLOSE_SIGNAL] --close-timeout value Time in seconds to force kill process after client is disconnected (default: -1) (default: -1) [$GOTTY_CLOSE_TIMEOUT] --config value Config file path (default: "~/.gotty") [$GOTTY_CONFIG] --version, -v print the version3、实践
# 示例 gotty -w python3
访问 http://127.0.0.1:8080 即可在线体验 Python3 环境。
进阶篇
容器化时代,遇到一些问题的时候,会进入容器内部排查问题,依靠命令行确实可以解决,但是效率较低,如果将容器作为 Web 可访问的应用,那么处理问题就会便捷很多。
下面将介绍如何使用 GoTTY 连接 k8s 集群中的任意容器。
1、构建 GoTTY Docker 镜像
已构建好的镜像:registry.cn-beijing.aliyuncs.com/tlab/k8s-gotty:latest
gotty:可运行的 gotty 程序,查看 [Releases]列表,选择合适的
kubernetes.repo:用于下载 kubectl
[kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
Dockerfile:用于构建镜像
FROM centos:latest RUN yum install -y epel-release kde-l10n-Chinese glibc-common wget RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 ENV LC_ALL zh_CN.utf8 ADD gotty /root/ ADD kubernetes.repo /etc/yum.repos.d/ RUN yum -y install kubectl WORKDIR /root EXPOSE 8080 CMD ["./gotty", "-w", "--permit-arguments", "kubectl", "exec", "-it", "-n"]
2、在 k8s 集群中运行 GoTTY
kind: Deployment apiVersion: apps/v1 metadata: name: gotty namespace: default spec: replicas: 1 selector: matchLabels: k8s-app: gotty template: metadata: labels: k8s-app: gotty spec: serviceAccountName: <此处填具有合适权限的k8s用户名> containers: - name: gotty image: registry.cn-beijing.aliyuncs.com/tlab/k8s-gotty ports: - containerPort: 8080 protocol: TCP
3、暴露 GoTTY 服务
kind: Service apiVersion: v1 metadata: labels: k8s-app: gotty name: gotty-service namespace: default spec: ports: - port: 80 targetPort: 8080 nodePort: 38080 selector: k8s-app: gotty type: NodePort
4、访问容器
在终端里,进入容器的命令是:
kubectl exec -it -n
那么,利用 GoTTY 访问则是 http://
上述内容就是Web应用中GoTTY终端工具的安装以及用法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
容器
工具
应用
终端
命令
镜像
问题
内容
技能
环境
知识
集群
运行
便捷
合适
简明
简明扼要
可以通过
就是
效率
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库局部信息设计结构
数据库开发模块明细
微信小程序平台搭建服务器
阿里云数据库 优势
即时通讯软件开发的功能选择
软件开发用什么模拟器
政法大学网络安全专业就业前景
x79服务器主板绿灯闪烁
华商银行软件开发岗面试流程
架设内网穿透服务器
python3数据库比较
网络技术有限公司怎么扣钱呢
政法干警的服务器什么时候开始
深圳失控网络技术有限公司
科技互联网生活英语作文
全数据库网络系统
南京审计大学数据库怎么用
2021长三角网络安全
网络安全学习手指操
网络技术中专实训考核
服务器怎么查看硬盘sn
标准的数据库有哪些问题
网络安全配置管理方案
知乎服务器性能
网络技术有限公司怎么扣钱呢
使命召唤8服务器文件配置
华为服务器最高能达到多少度
网络安全宣传周第六届主题
广州金山网络安全
电影天堂服务器