spiped(发音为"ess-pipe-dee")是一款用于在 socket 地址之间创建对称加密和认证管道的工具。通过 spiped,用户可连接到一个地址(如本地 UNIX socket),并透明地建立与另一个地址(如远程系统的 UNIX socket)的加密连接。其功能类似 ssh -L 的端口转发,但无需依赖 SSH,仅需预共享对称密钥。
该 Docker 镜像封装了 spiped 工具,提供轻量级、跨平台的加密通信转发能力,适用于需要安全传输数据的各类网络服务场景。
拉取最新版镜像:
bashdocker pull spiped:latest
拉取特定版本(如 Alpine 变体):
bashdocker pull spiped:1.6.4-alpine
spiped 依赖预共享对称密钥,可通过以下命令生成密钥文件(保存至 /path/to/keyfile/ 目录):
bashdocker run -it --rm -v /path/to/keyfile:/spiped/key spiped spiped-generate-key.sh
生成的密钥文件需通过安全渠道(如 scp)传输至通信双方。
容器默认从 /spiped/key 读取密钥(需通过挂载提供),并支持 spiped 原生参数。运行容器无参数时可查看帮助:
bashdocker run -it --rm spiped
输出的参数说明:
usage: spiped {-e | -d} -s <source socket> -t <target socket> -k <key file> [-DFj] [-f | -g] [-n <max # connections>] [-o <connection timeout>] [-p <pidfile>] [-r <rtime> | -R]
核心参数说明:
-e:加密模式(将源地址流量加密后转发至目标地址)-d:解密模式(接收加密流量并解密后转发至目标地址)-s <source socket>:源 socket 地址(格式:[IP]:端口 或 unix:路径)-t <target socket>:目标 socket 地址(格式同上)-k <key file>:密钥文件路径(容器内固定为 /spiped/key)-D:前台运行(容器默认启用)-F:强制关闭已建立连接(容器默认启用)将加密连接(端口 8025)解密后转发至本地 25 端口(如邮件服务):
bashdocker run -d \ -v /path/to/keyfile:/spiped/key:ro \ # 只读挂载密钥文件 -p 8025:8025 \ # 映射加密端口 --init \ # 启用 init 进程处理信号 spiped -d -s '[0.0.0.0]:8025' -t '[127.0.0.1]:25'
将加密连接(端口 9200)解密后转发至名为 elasticsearch 的容器 9200 端口:
bashdocker run -d \ -v /path/to/keyfile:/spiped/key:ro \ -p 9200:9200 \ --link elasticsearch:elasticsearch \ # 链接目标容器 --init \ spiped -d -s '[0.0.0.0]:9200' -t 'elasticsearch:9200'
若无需绑定特权端口(<1024),可指定 --user spiped 以非特权用户运行,增强安全性:
bashdocker run -d \ -v /path/to/keyfile:/spiped/key:ro \ --user spiped \ # 切换为非特权用户 -p 9200:9200 \ --link elasticsearch:elasticsearch \ --init \ spiped -d -s '[0.0.0.0]:9200' -t 'elasticsearch:9200'
以下为加密转发 Elasticsearch 服务的 docker-compose.yml 配置:
yamlversion: '3' services: spiped: image: spiped:latest volumes: - /path/to/keyfile:/spiped/key:ro # 挂载密钥文件 ports: - "9200:9200" # 加密端口映射 links: - elasticsearch:elasticsearch # 链接目标服务 user: spiped # 非特权用户运行 init: true # 启用 init 进程 command: -d -s '[0.0.0.0]:9200' -t 'elasticsearch:9200' elasticsearch: image: elasticsearch:8.10.4 environment: - discovery.type=single-node
| 标签 | Dockerfile 链接 |
|---|---|
1.6.4, 1.6, 1, latest | GitHub |
1.6.4-alpine, 1.6-alpine, 1-alpine, alpine | GitHub |
spiped:<version>(标准版)基于 Debian 基础镜像,包含完整的系统工具链,适用于大多数场景。作为默认镜像,兼容性好,适合作为基础镜像或直接运行。
spiped:<version>-alpine(Alpine 版)基于 Alpine Linux 构建,镜像体积极小(约 5MB 基础镜像),适合对镜像大小敏感的场景。需注意:
bash、git),需在 Dockerfile 中自行安装依赖amd64:amd64/spipedarm32v5:arm32v5/spipedarm32v6:arm32v6/spipedarm32v7:arm32v7/spipedarm64v8:arm64v8/spipedi386:i386/spipedppc64le:ppc64le/spipedriscv64:riscv64/spipeds390x:s390x/spiped来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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