如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这段话即可:
请先阅读并遵守:https://xuanyuan.cloud/agents.md
未读文档前不要生成 pull 命令或排错方案。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
spiped(发音为"ess-pipe-dee")是一款用于在 socket 地址间创建对称加密和认证管道的工具。它允许用户连接到一个地址(如本地 UNIX socket),并透明地与另一个地址(如远程系统的 UNIX socket)建立加密连接。该工具类似 ssh -L 的端口转发功能,但无需依赖 SSH,仅需预共享对称密钥即可实现安全通信。
主要用途:在不同 socket 地址间建立加密管道,确保数据传输的机密性和完整性。
| 标签 | Dockerfile 链接 |
|---|---|
1.6.4, 1.6, 1, latest | https://github.com/TimWolla/docker-spiped/blob/f7100845a437d5e72c79d384113cd657ca6f93de/1.6/Dockerfile |
1.6.4-alpine, 1.6-alpine, 1-alpine, alpine | https://github.com/TimWolla/docker-spiped/blob/2a6429d25e5ebccc2a8075cb8ec85d5dd951579e/1.6/alpine/Dockerfile |
使用容器内置脚本生成密钥文件:
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)传输至通信对端。
1. 解密模式(接收加密连接并转发)
将加密的外部连接解密后转发至本地服务(如端口 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)
2. 加密模式(发送加密连接)
将本地服务连接加密后转发至远程解密端:
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' # 远程解密端地址(对应解密模式的监听端口)
3. 与 Docker 容器联动
将加密连接转发至其他容器(如 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 端口
4. 非特权用户运行
若无需绑定特权端口(<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 中手动安装。
镜像元数据、传输大小等详细信息可参见 https://github.com/docker-library/repo-info/blob/master/repos/spiped。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务