#container #docker #lxc #cli

bin+lib in-container

判断是否在容器内运行

3 个版本 (稳定)

1.1.0 2022 年 1 月 29 日
1.0.0 2020 年 7 月 17 日

#2003 in 命令行工具

Download history 47/week @ 2024-03-11 8/week @ 2024-03-18 10/week @ 2024-03-25 76/week @ 2024-04-01 14/week @ 2024-04-08 23/week @ 2024-04-15 22/week @ 2024-04-22 10/week @ 2024-04-29 10/week @ 2024-05-06 8/week @ 2024-05-13 54/week @ 2024-05-20 9/week @ 2024-05-27 32/week @ 2024-06-03 5/week @ 2024-06-10 9/week @ 2024-06-17 7/week @ 2024-06-24

每月 56 次下载
putioarr 中使用

MIT/Apache

16KB
247

in-container

in-container 是一个二进制文件和库,可以用来检测你是否在容器内运行。在容器内运行二进制文件默认会返回退出码 0,不在容器内运行则返回退出码 1。可以将该库包含在你选择的任何应用程序中,从而确定你的应用程序是否在容器内运行。

(请注意,某些检测机制仅在 in-container 以特权上下文执行时才有效。)

支持的操作系统/容器化解决方案

如果你缺少对某个操作系统或容器运行时的支持,请随意 提出功能请求发起拉取请求

作为库的使用

in-container 添加到项目的 Cargo.toml 依赖中

[dependencies]
in-container = { version = "^1", default-features = false }

然后你可以使用 in_container::in_container(),它会在你运行在容器内时返回 true,否则返回 false。如果你对检测到的容器运行时感兴趣,可以调用 in_container::get_container_runtime(),它将返回一个 Option<ContainerRuntime>。当不在容器内运行时,该 OptionNone,否则它将包含检测到的运行时。

版本更新策略

通常,版本号遵循语义版本控制指南

  • 当进行向后兼容的修复时(这包括对依赖项的更新),将增加修补版本。
  • 当引入新功能但保留向后兼容性时,将增加次要版本。
  • 当进行向后不兼容的更改时,将增加主版本。

特殊情况

  • 库的最低支持 Rust 版本(MSRV)的更新,当前为 1.52.1,将在次要版本更新中进行(即它们不需要进行主版本更新)。
  • 二进制文件的最低支持Rust版本(MSRV)将从当前的1.54.0增加,这将通过补丁版本更新来完成(即不需要进行主要或次要版本升级)。

许可证

本项目的许可证可以是以下之一

由您选择。

贡献

除非您明确说明,否则根据Apache-2.0许可证定义的,您有意提交的任何贡献,只要包含在本项目中,都应按照上述方式双授权,无需附加条款或条件。

依赖项

~0–8MB
~52K SLoC