RuntimeEnvironment

public class org.apache.commons.lang3.RuntimeEnvironment[source]

Helps query the runtime environment.

Since:

3.15.0

Constructors

RuntimeEnvironment()

Deprecated. Constructs a new instance.

@Deprecated public RuntimeEnvironment()[source]

Deprecated: Will be removed in 4.0.0.

Constructs a new instance.

Methods

inContainer()

Tests whether we are running in a container like Docker or Podman.

public static Boolean inContainer()[source]

Tests whether we are running in a container like Docker or Podman.

The following may change if we find better detection logic.

We roughly follow the logic in SystemD:

https://github.com/systemd/systemd/blob/0747e3b60eb4496ee122066c844210ce818d76d9/src/basic/virt.c#L692

We check the `container` environment variable of process 1:

  1. If the variable is empty, we return false. This includes the case, where the container developer wants to hide the fact that the application runs in a container.

  2. If the variable is not empty, we return true.

  3. If the variable is absent, we continue.

  4. We check files in the container. According to SystemD:/

    1. /.dockerenv is used by Docker.

    2. /run/.containerenv is used by PodMan.

Returns:

whether we are running in a container like Docker or Podman. Never null.

See also:

SystemD virt.c