Skip to main content

All Containers

This page may contain a mixture of inventory for containers in two different environments:

  • Docker containers managed directly by the Docker Engine

  • OCI containers managed by Kubernetes (OCI is the Open Container Initiative, the standards body for the container ecosystem).

    tip

    Tracking your Docker/OCI containers in either environment is disabled by default. To enable tracking them, see Container Scanning.

Docker containers and the Docker Engine

A Docker container image is a package of all the scripts, software, runtime, system tools, libraries, and configuration required to run an application. A container image can be launched as a Docker container in a lightweight, isolated environment using the Docker Engine. Like virtual machines, containers isolate resources. However, while virtual machines abstract hardware and run individual kernels, containers abstract the operating system in a single namespaced kernel. Therefore, containers eliminate the weight of a hypervisor by executing directly on the Linux (or Windows) kernel. For Linux, the concept of containerization is not new, as AIX Workload Partitions (wPAR) and Solaris Zones have existed for some time. However, Docker has provided a far more complete ecosystem.

From version 15.0.0, FlexNet Inventory Agent includes a Docker tracker. When FlexNet Inventory Agent is locally installed on the host server where the containers are to run, its Docker tracker (once enabled) is responsible for monitoring the Docker Engine to discover containers as they start and stop. Further to this, it is responsible for gathering raw evidence from containers (and hence by inference, from the images from which they are instantiated). The Docker tracker waits for a container executing the image to be launched, and performs a zero-footprint inventory on the executing container (zero-footprint here means that the inventory component is loaded from the host into the container, executed with the resulting inventory reported to the host, and then removed from the container - a process which only needs to happen once per image, using the first available container invoked from that image). This enables the full capability of the FlexNet Inventory Agent to gather all types of raw installation evidence for each container image.

note

The default hierarchy of items in this Docker container/Engine case is:

  • Container Host

  • Image

  • Container.

Containers managed by Kubernetes

Originally designed by Google and now open source, Kubernetes is a container-orchestration system used for automating application deployment, scaling, and management. For example, if a container goes down (that is, the application running in that environment fails), Kubernetes can automatically start another container from the same image. The Kubernetes "culture" brings with it a naming convention that maps onto the names used in IT Asset Management as follows, and provides a distinct hierarchy of these items:

  • A Kubernetes cluster is similar to a cluster in other environments: it links multiple computers through a special configuration to operate effectively as a single system.

  • A Kubernetes worker, or node (or often 'worker node'), is a computer that runs containerized applications. This makes Kubernetes nodes analogous to virtual hosts that run virtual machines in non-containerized virtualization, or to a Container Host for Docker containers (as described above). For consistency, the Container Host terminology is used for both within IT Asset Management.

  • A Kubernetes pod is the most basic deployable object within Kubernetes, and may include one or more containers that share the common resources of the pod. There is no analog for a Kubernetes pod in the Docker Engine system, nor in traditional VMs.

  • A Kubernetes image means the same as in the basic Docker system — it is the master original from which containers can be instantiated.

  • In Kubernetes, a container is conceptually the same as in the basic Docker system, as described above. However, as Kubernetes abstracts the container technology, these may be any containers adhering to the Open Container Initiative, the standards body for the emerging container ecosystem.

This means that Kubernetes provides a five-level hierarchy of items, compared with the three levels under the Docker Engine system.

Page layout

Each row of the All Containers listing displays a single container, along with details of its image, pod (for Kubernetes), host or node, and the cluster in which the host/node device operates.

By default, the listing has default groupings on:

  • The Cluster name

  • The Host name (which, you recall, displays the worker node in a Kubernetes cluster)

  • The Image ID identifying the image from which the container was instantiated.

You may use the + control to the left of any group name to expand that group and expose a hierarchy (for example, when there are multiple containers instantiated from the one image on a host), and subsequently use the - control to close down the group again; or you may use the grouping area above the listing to remove any or all of the groupings.

Available columns

Columns are grouped into the following categories. The category name appears on the top of the column heading when you drag a property from the Column Chooser. Properties that belong to the same category appear under single category title.

  • Cluster

  • Container

  • Container Pod

  • Host

  • Image

Some columns are displayed by default and others can be displayed through the column chooser. To manage columns and other UI options, see the topics under Managing Columns in a Table.

Field

Description

Cluster properties:

Cluster ID

For Kubernetes, the unique ID of the cluster containing the worker node where the pod runs the container instantiated from the image. For a Docker environment, this column remains blank.

Cluster name

May display:

  • Blank for a Docker environment.

  • For Kubernetes, the name of the cluster containing the worker node where the pod is running (typically hosting a container instantiated from the named image). Cluster names are not guaranteed to be unique. You may resolve duplicate names by checking the Cluster ID.

Container properties:

Container ID

Unique identifier of the container.

Container name

The name of the container, only populated when the current row displays a container.

Last used date

This value may be:

  • For containers with:

    • A Status of Running, displays the current date

    • Any value of Status other than Running, displays the date when the container stopped running.

Repository tags

This value may be:

  • The repository tag for the image used to launch this container. Most often this is the same value as for the image repository tags, but the value may be different where one of multiple image tags was selected for this container.

Status

Displays the status reported for the container. For a Kubernetes container, the three possible container states are:

  • Running

  • Terminated

  • Waiting

  • Unknown.

For further information please see https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/.

For a Docker container, the status may be one of:

  • Created

  • Dead

  • Exited

  • Paused

  • Removing

  • Restarting

  • Running

  • Unknown.

For further information please see https://docs.docker.com/engine/reference/commandline/ps/#status.

Container Pod properties:

Container pod name

This value may be:

  • Blank for a Docker environment

  • The name of the Kubernetes pod that the container is running in, for rows that display a Kubernetes container.

Namespace

This value may be:

  • Blank for a Docker environment

  • The Kubernetes namespace for the pod where the container is running (for a row displaying a Kubernetes container).

Status

The status may be:

  • Blank for a Docker environment

  • The status of the pod (for rows displaying a Kubernetes container, this is the pod where the container is running). The status may then be one of the following "pod phases":

UID

This is either:

  • Blank for a Docker environment

  • The UID of the pod where the container is running, for rows that display a Kubernetes container.

Host Properties:

Cores

The total number of processor cores available in the container's host.

Corporate unit

The corporate unit responsible for the container's host.

Cost center

The cost center responsible for all costs incurred for the container's host.

Host name

The name of the host running the Docker service; or, in a Kubernetes environment, the name of the Kubernetes worker node. You can click on the container host link to open its Inventory Device Properties page.

Location

The location within your enterprise that is responsible for the container's host.

Operating system

The operating system running on either:

  • For a Kubernetes cluster, the operating system of the worker node (this worker node appears in the Host name column)

  • For Docker, the operating system running on the Host name.

Processors

The total number of processors available in the container's host.

Role

The role assigned to the container's host, such as Development, Test, and Production.

Status

The current state of the container's host. It can have any of the following values:- Active: The device is active, for which the inventory information is received from an inventory source.

  • Archived: The device is in transition pending deletion, but is currently held because of its historical impacts on IBM PVU sub-capacity retrospective calculations.

  • Awaiting Inventory: This device is a place-holder that has not yet appeared in imported inventory from any source.

  • Ignored: The device is not managed. An ignored device is not considered in license consumption calculations.

Image properties:

Image ID

Unique identifier of the image. Populated for the image and containers instantiated from it. You can click on this link to open the Container Image Properties page for this image.

Image installed date

The date of when the image was installed on the device represented in this row.

Last used date

The most recent date that a reconcile occurred, when any container instantiated from this image was running.

Operating system

The operating system in the user environment contained in the image that the container is running.

Repository tags

The repository tag(s) associated with the image that the container is running, for a row that displays a container.

Tip: Multiple tags are comma-separated.