19.3.4.5 Info Host Resources
A focused guide to Info Host Resources, connecting core concepts with practical Docker and container operations.
The host resources section of docker info reports the hardware and operating system properties of the machine running the Docker daemon. These values are read directly from the host kernel and hardware and represent the total resources available to the Docker host, not what is currently free or currently allocated to containers.
Host Resources in docker info Output
docker info
Kernel Version: 6.1.0-21-amd64
Operating System: Debian GNU/Linux 12 (bookworm)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.692GiB
Name: my-docker-host
ID: a1b2c3d4-e5f6-7890-abcd-ef1234567890
Kernel Version
Kernel Version: 6.1.0-21-amd64
The version of the Linux kernel running on the host. The kernel version matters for Docker because many Docker features depend on specific kernel capabilities:
- overlay2 storage driver: Requires kernel 4.0+ with proper filesystem support.
- Cgroup v2: Requires kernel 4.5+ for basic support, 5.8+ for full support of all controllers.
- User namespaces (rootless Docker): Requires kernel 3.8+.
- eBPF programs and seccomp filters: Improved in later kernel versions.
- Certain network drivers and features: Depend on kernel networking subsystem versions.
Knowing the kernel version helps diagnose why certain Docker features are unavailable or behave unexpectedly on older systems.
Operating System
Operating System: Debian GNU/Linux 12 (bookworm)
The Linux distribution name and version as reported by the OS. This is typically read from /etc/os-release on the host. This field identifies the Linux distribution and release version of the Docker host, which affects:
- Which package manager to use when updating Docker or the kernel.
- Which Linux distribution-specific configurations are in place (AppArmor on Debian/Ubuntu, SELinux on RHEL/CentOS).
- Whether certain features are available based on the distribution's kernel patches and backports.
OSType
OSType: linux
The operating system family: linux for Linux hosts, windows for Windows containers mode. This field distinguishes Linux containers from Windows containers when running Docker on Windows with multiple mode support.
Architecture
Architecture: x86_64
The CPU architecture of the Docker host. Common values:
x86_64: 64-bit Intel/AMD (AMD64). The most common for servers and desktop environments.aarch64: 64-bit ARM (ARM64). Used on AWS Graviton instances, Raspberry Pi 4, Apple Silicon (inside Docker Desktop's Linux VM).armv7l: 32-bit ARM. Older Raspberry Pi models and embedded devices.
The architecture determines which container images can run natively. A container image built for amd64 cannot run natively on an aarch64 host without emulation.
CPUs
CPUs: 4
The total number of logical CPU cores available to the Docker daemon. This includes physical cores and hardware threads (hyperthreading). All CPUs reported here can be allocated to containers using --cpus limits.
If Docker is running inside a virtual machine (such as Docker Desktop), this number reflects the CPUs allocated to the VM, not the physical host's total CPU count.
Total Memory
Total Memory: 7.692GiB
The total RAM available on the host, reported in GiB. This is the total physical memory (or memory allocated to the VM), not the amount currently free.
Container memory limits set with --memory are bounded by this value — you cannot set a container memory limit higher than the total host memory. On systems with memory pressure, the sum of all container memory limits should not significantly exceed total host memory to avoid swapping and OOM conditions.
If Docker is running inside Docker Desktop, this reflects the memory allocated to the Linux virtual machine (configurable in Docker Desktop settings), not the physical Mac or Windows machine's total RAM.
Name
Name: my-docker-host
The hostname of the Docker host as reported by the kernel. This is the same value returned by the hostname command on the host. It is useful for identifying which machine you are connected to when managing multiple Docker hosts.
ID
ID: a1b2c3d4-e5f6-7890-abcd-ef1234567890
A unique identifier for this Docker daemon installation. The ID is generated when Docker is first installed and persists across daemon restarts. It is used to uniquely identify a node in Docker Swarm configurations and can be used to distinguish between Docker installations on different hosts.
Extracting Host Resource Fields
docker info --format "{{.KernelVersion}}"
docker info --format "{{.OperatingSystem}}"
docker info --format "{{.Architecture}}"
docker info --format "{{.NCPU}}"
docker info --format "{{.MemTotal}}"
docker info --format "{{.Name}}"
Note that MemTotal returns the value in bytes, not human-readable format. To convert in a script:
docker info --format "{{.MemTotal}}" | awk '{printf "%.2f GiB\n", $1/1073741824}'
Practical Use Cases
Verifying a remote host meets minimum resource requirements before deployment:
docker --context remote_host info --format "CPUs: {{.NCPU}} | Memory: {{.MemTotal}}"
Checking kernel version compatibility before enabling overlay2 or cgroup v2 features:
docker info --format "{{.KernelVersion}}"
Identifying the architecture before pulling multi-platform images:
docker info --format "{{.Architecture}}"
Auditing a fleet of Docker hosts for consistent configuration:
for host in host1 host2 host3; do
echo "$host: $(docker --context $host info --format '{{.KernelVersion}} {{.OperatingSystem}}')"
done