快速参考
-
由……维护
蒂姆·杜斯特胡斯(来自 Docker 社区),在科林的支持下(来自 spiped 上游) -
何处获取帮助:
Docker 社区 Slack、服务器故障、Unix & Linux 或 Stack Overflow
支持的标签及相应的 Dockerfile 链接
快速参考(续)
-
支持的架构:(更多信息)
amd64,arm32v5,arm32v6,arm32v7,arm64v8,i386,mips64le,ppc64le,riscv64,s390x -
已发布的图像工件详细信息:
仓库信息 仓库的repos/spiped/目录(历史)
(图像元数据、传输大小等) -
图像更新:
官方镜像仓库的library/spiped标签
官方镜像仓库的library/spiped文件(历史记录) -
此描述的来源:
文档库的spiped/目录(历史)
spiped
什么是 spiped?
Spiped(发音为“ess-pipe-dee”)是一个用于在套接字地址之间创建对称加密和认证管道的实用程序,以便可以连接到一个地址(例如,本地主机上的 UNIX 套接字),并透明地建立到另一个地址(例如,不同系统上的 UNIX 套接字)的连接。这与 ssh -L 功能类似,但不使用 SSH 且需要预共享对称密钥。
如何使用此图像
此图像会自动从 /spiped/key 文件( -k )获取密钥,并在前台运行 spiped( -F )。除此之外,它采用与 spiped 本身相同的选项。您可以通过在不带参数的情况下运行该图像来列出可用的标志:
$ docker 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]
例如,运行 spiped 以在端口 8025 上接受加密连接并将其转发到本地主机的端口 25,看起来会像这样:
$ docker run -d -v /path/to/keyfile:/spiped/key:ro -p 8025:8025 --init spiped -d -s '[0.0.0.0]:8025' -t '[127.0.0.1]:25'
通常你会将此镜像与另一个链接容器相结合。以下示例将在端口 9200 上获取加密连接,并将它们转发到名为 elasticsearch 的容器的端口 9200 上:
$ docker 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'
如果你不需要绑定到特权端口,你可以传递 --user spiped 以使 spiped 以非特权用户运行:
$ docker 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'
生成密钥
您可以通过运行以下操作将名为 spiped-keyfile 的新密钥文件保存到文件夹 /path/to/keyfile/ 中:
$ docker run -it --rm -v /path/to/keyfile:/spiped/key spiped spiped-generate-key.sh
之后将 spiped-keyfile 安全地传输到另一台主机(例如通过使用 scp)。
图像变体
spiped 图像有多种类型,每种都针对特定的用例而设计。
spiped:<version>
这是事实上的镜像。如果你不确定自己的需求是什么,你可能想要使用这个。它被设计既可用作一次性容器(挂载你的源代码并启动容器以启动你的应用程序),也可用作构建其他镜像的基础。
spiped:<version>-alpine
此镜像基于流行的 Alpine Linux 项目,在 alpine 官方镜像中可用。Alpine Linux 比大多数发行版基础镜像小得多(约 5MB),因此通常会生成更精简的镜像。
当尽可能小的最终镜像大小是你主要关心的问题时,这个变体很有用。需要注意的主要警告是,它确实使用 musl libc 而不是 glibc 及其同类,所以软件通常会根据其对 libc 要求/假设的深度而遇到问题。有关可能出现的问题以及使用基于 Alpine 的镜像的一些优缺点比较的更多讨论,请参阅此 Hacker News 评论线程。
为了最小化镜像大小,在基于 Alpine 的镜像中包含额外的相关工具(例如 git 或 bash )是不常见的。使用此镜像作为基础,在你自己的 Dockerfile 中添加你需要的东西(如果你不熟悉,可查看 alpine 镜像描述以获取如何安装软件包的示例)。
许可证
查看此映像中包含的软件的许可证信息。
与所有 Docker 镜像一样,这些镜像可能还包含其他可能受其他许可证约束的软件(例如来自基础发行版的 Bash 等,以及所包含的主要软件的任何直接或间接依赖项)。
一些能够自动检测到的额外许可证信息可能会在 repo-info 存储库的 spiped/ 目录中找到。
对于任何预构建镜像的使用,镜像用户有责任确保对此镜像的任何使用都符合其中包含的所有软件的任何相关许可证。