Expand description


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:

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.


This project is licensed under either of

at your option.


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.


The detected container runtime.


Optionally returns the detected ContainerRuntime if called from inside a container.

Returns true if called from inside a container, false otherwise.