Crate in_container

Source
Expand description

§in-container

in-container is a binary and a library that can be used to detect if you are running inside a container. Executing the binary will by default return exit-code 0 if it was run inside a container and exit-code 1 if it wasn’t. The library can be included in an application of your choice, allowing you to determine whether your application is running inside a container or not.

(Please note that some of the detection mechanisms only work if in-container is executed in a privileged context.)

§Supported operating systems/containerization solutions

If you are missing support for an operating system or container runtime, feel free to open a feature request or open a pull request.

§Usage as a library

Add in-container as a dependency to your project’s Cargo.toml:

[dependencies]
in-container = "^1"

You can then use in_container::in_container() which will return true if you are running inside a container and false otherwise. In case you are interested in the container-runtime that was detected, you can call in_container::get_container_runtime() instead, which will return an Option<ContainerRuntime>. The Option is None when not running in a container, otherwise it will contain the detected runtime.

§ License

This project is licensed under either of

at your option.

§ Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Enums§

ContainerRuntime
The detected container runtime.

Functions§

get_container_runtime
Optionally returns the detected ContainerRuntime if called from inside a container.
in_container
Returns true if called from inside a container, false otherwise.