spiped(发音为"ess-pipe-dee")是一款用于在 socket 地址间创建对称加密和认证管道的工具。它允许用户连接到一个地址(如本地 UNIX socket),并透明地与另一个地址(如远程系统的 UNIX socket)建立加密连接。该工具类似 ssh -L 的端口转发功能,但无需依赖 SSH,仅需预共享对称密钥即可实现安全通信。
主要用途:在不同 socket 地址间建立加密管道,确保数据传输的机密性和完整性。
| 标签 | Dockerfile 链接 |
|---|---|
1.6.4, 1.6, 1, latest | GitHub |
1.6.4-alpine, 1.6-alpine, 1-alpine, alpine | GitHub |
使用容器内置脚本生成密钥文件:
console# 生成密钥并保存至本地 /path/to/keyfile 目录 $ docker run -it --rm -v /path/to/keyfile:/spiped/key arm32v7/spiped spiped-generate-key.sh
生成的密钥文件位于 /path/to/keyfile/key,需通过安全方式(如 scp)传输至通信对端。
将加密的外部连接解密后转发至本地服务(如端口 25 的邮件服务):
console$ docker run -d \ -v /path/to/keyfile:/spiped/key:ro \ # 挂载密钥文件(只读) -p 8025:8025 \ # 映射外部端口 --init \ # 使用 init 进程管理信号 arm32v7/spiped \ -d \ # 解密模式 -s '[0.0.0.0]:8025' \ # 监听外部连接的地址(0.0.0.0 表示所有网卡) -t '[127.0.0.1]:25' # 转发目标地址(本地端口 25)
将本地服务连接加密后转发至远程解密端:
console$ docker run -d \ -v /path/to/keyfile:/spiped/key:ro \ --init \ arm32v7/spiped \ -e \ # 加密模式 -s '[127.0.0.1]:25' \ # 本地服务地址 -t 'remote-server:8025' # 远程解密端地址(对应解密模式的监听端口)
将加密连接转发至其他容器(如 Elasticsearch):
console$ docker run -d \ -v /path/to/keyfile:/spiped/key:ro \ -p 9200:9200 \ --link elasticsearch:elasticsearch \ # 链接至目标容器 --init \ arm32v7/spiped \ -d \ -s '[0.0.0.0]:9200' \ # 监听本地 9200 端口 -t 'elasticsearch:9200' # 转发至 elasticsearch 容器的 9200 端口
若无需绑定特权端口(<1024),可使用非特权用户运行以增强安全性:
console$ docker run -d \ -v /path/to/keyfile:/spiped/key:ro \ -p 9200:9200 \ --link elasticsearch:elasticsearch \ --user spiped \ # 使用 spiped 非特权用户 --init \ arm32v7/spiped \ -d -s '[0.0.0.0]:9200' -t 'elasticsearch:9200'
spiped 容器支持 spiped 原生命令行参数,核心参数如下:
| 参数 | 说明 |
|---|---|
-e | 加密模式:从源地址读取数据并加密后发送至目标地址 |
-d | 解密模式:从源地址接收加密数据并解密后转发至目标地址 |
-s <addr> | 源地址(监听地址或本地服务地址),格式为 [ip]:port 或 unix:path |
-t <addr> | 目标地址(转发目标地址),格式同上 |
-k <file> | 密钥文件路径(容器内默认读取 /spiped/key,无需额外指定) |
-n <num> | 最大并发连接数(默认 100) |
-o <sec> | 连接超时时间(秒,默认 30) |
-F | 前台运行(容器默认已启用,无需额外指定) |
arm32v7/spiped:<version>(标准版)基于 Debian 基础镜像构建,包含完整的系统工具链,适用于大多数场景。若对镜像体积无严格要求,建议优先使用此变体。
arm32v7/spiped:<version>-alpine(轻量版)基于 Alpine Linux 构建,镜像体积显著减小(约 5MB 基础镜像),适用于资源受限环境。由于使用 musl libc 替代 glibc,部分依赖 glibc 特性的场景可能存在兼容性问题。如需额外工具(如 git、bash),需在 Dockerfile 中手动安装。
library/spiped 标签跟踪更新镜像元数据、传输大小等详细信息可参见 repo-info 仓库。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429