入门神器:Entrykit —— 简洁容器的入口点工具

入门神器:Entrykit —— 简洁容器的入口点工具

项目地址:https://gitcode.com/progrium/entrykit

Entrykit 是一个专为构建优雅容器而设计的工具集,它将常见的入口脚本任务进行了模块化处理,使得在 Dockerfile 中的设置变得轻松快捷。这个轻量级的解决方案类似于初始化系统,但不局限于传统的重量级实现。相反,Entrykit 关注于构建最小化的高效能容器。

获取 Entrykit

在你的 Dockerfile 中,下载 Entrykit 的发布版本并将其解压到 PATH 路径下,例如 /bin,以简化操作。为了获得最佳体验,运行 entrykit --symlink 来创建子命令的常规命令链接。

查看 example 目录可以找到一个使用 Entrykit 的 Nginx 示例容器。

使用 Entrykit

一旦安装完毕,你可以在入口点中使用 Entrykit 命令,可以单独使用也可以串联起来。所有命令都采用相同的使用结构:

<command> [[name=]task...] [-- exec]

以下是详细的命令说明:

codep - 并行任务管理器

codep 可以并行运行多个进程,并代理信号传递。与其他大多数初始化系统不同的是,如果其中一个进程终止,codep 将杀死所有进程,以便容器能够退出并由 Docker 或其他初始化系统进行干净的重启。非常适合用于配置渲染工具或作为容器内的协进程运行。

render - 模板渲染

render 用于处理模板文件的渲染,利用 Sigil 渲染引擎,你可以使用环境变量或其他配置导向的模板函数。这对于在启动时基于环境变量配置容器非常有用。

switch - 命令切换

switch 允许你在启动容器时根据提供的命令执行不同的过程。通过定义命名任务,你可以设置特定命令对应的完整命令。例如,当用户运行 shell 命令时,可以切换到 /bin/sh

prehook - 启动前预命令

prehook 可用于在执行主命令之前运行一系列预设任务。这有助于提升容器的自定义性,或者在启动主进程前完成一些准备工作。

链接命令

所有这些命令都可以一起使用,形成强大的工作流程。示例代码展示了如何将它们组合在一起:

ENTRYPOINT [ \
  "switch", \
    "shell=/bin/sh", \
    "version=nginx -v", "--", \
  "render", "/demo/nginx.conf", "--", \
  "prehook", "nginx -V", "--", \
  "codep", \
    "/bin/reloader 3", \
    "/usr/sbin/nginx -c /demo/nginx.conf" ]

其他设置方式

除了在 Dockerfile 中直接指定外,还可以通过环境变量定义这些入口点命令,但这未被正式文档记录且未充分测试。

许可证

项目遵循 MIT 许可。


通过 Entrykit,你可以更灵活地构建和控制 Docker 容器,不仅提高了效率,还增强了容器的可配置性和一致性。不论是初学者还是经验丰富的开发者,Entrykit 都是你不容错过的利器。立即尝试,开启你的高效容器之旅吧!

项目地址:https://gitcode.com/progrium/entrykit

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gitblog_00016

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值