ttyd 是一款简单的命令行工具,用于通过Web浏览器共享终端会话。它允许用户在Web界面中访问和操作远程终端,支持标准终端功能及扩展特性,适用于远程协助、终端共享、Web化终端访问等场景。
bash# 运行ttyd并共享bash终端,映射端口7681 docker run -d -p 7681:7681 --name ttyd ttyd ttyd bash
访问 http://<主机IP>:7681 即可打开Web终端。
bash# 设置用户名密码认证(格式:username:password) docker run -d -p 7681:7681 --name ttyd ttyd ttyd -c admin:password123 bash
bash# 挂载本地SSL证书,启用HTTPS docker run -d -p 7681:7681 \ -v /path/to/ssl:/ssl \ --name ttyd ttyd ttyd \ -S -C /ssl/cert.pem -K /ssl/key.pem \ bash
bash# 仅允许查看终端,禁止写入操作 docker run -d -p 7681:7681 --name ttyd ttyd ttyd -R bash
yamlversion: '3' services: ttyd: image: ttyd container_name: ttyd ports: - "7681:7681" # 映射Web访问端口 command: ttyd -c admin:SecurePass123 -m 5 bash # 启用认证,限制最大5个客户端 restart: always # 可选:挂载SSL证书(启用HTTPS时) # volumes: # - ./ssl:/ssl # command: ttyd -S -C /ssl/cert.pem -K /ssl/key.pem -c admin:SecurePass123 bash
| 参数 | 缩写 | 描述 | 默认值 |
|---|---|---|---|
--port | -p | 监听端口(使用0表示随机端口) | 7681 |
--interface | -i | 绑定网络接口(如eth0)或UNIX域套接字路径(如/var/run/ttyd.sock) | 所有网络接口 |
--credential | -c | 基本认证凭据(格式:username:password) | 无(不启用认证) |
--uid | -u | 运行命令的用户ID | 当前用户ID |
--gid | -g | 运行命令的组ID | 当前用户组ID |
--signal | -s | 退出时发送给命令的信号(如9表示SIGKILL) | 1(SIGHUP) |
--url-arg | -a | 允许客户端通过URL传递命令行参数(如?arg=foo) | 禁用 |
--readonly | -R | 禁止客户端写入终端(只读模式) | 禁用 |
--client-option | -t | 向客户端发送自定义选项(格式:key=value,可重复指定) | 无 |
--terminal-type | -T | 终端类型标识 | xterm-256color |
--check-origin | -O | 禁止跨域WebSocket连接 | 允许跨域 |
--max-clients | -m | 最大客户端连接数(0表示无限制) | 0 |
--once | -o | 仅接受一个客户端,断开连接后退出 | 禁用 |
--browser | -B | 启动后自动打开系统默认浏览器 | 禁用 |
--index | -I | 自定义HTML主页路径 | 内置默认页面 |
--base-path | -b | 反向代理基础路径(如/ttyd) | / |
--ping-interval | -P | WebSocket心跳检测间隔(秒) | 300 |
--ipv6 | -6 | 启用IPv6支持 | 禁用 |
--ssl | -S | 启用SSL加密 | 禁用 |
--ssl-cert | -C | SSL证书文件路径(启用SSL时必填) | 无 |
--ssl-key | -K | SSL私钥文件路径(启用SSL时必填) | 无 |
--ssl-ca | -A | 客户端证书验证CA文件路径 | 无 |
--debug | -d | 设置日志级别(数值越高日志越详细) | 7 |
--version | -v | 显示版本信息并退出 | - |
--help | -h | 显示帮助信息并退出 | - |
支持现代浏览器,具体兼容性取决于Xterm.js引擎,包括:
特别感谢JetBrains为该项目提供开源许可支持。
更多信息请访问 ttyd***仓库。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速