Are the images of full operating systems?

Docker images (including the ubiquitous ubuntu and debian images) don’t contain kernels, and containers based on them don’t run kernels; they always share the host kernel. You need to go through special setup to be able to use host devices, regardless of what /dev special files exist in a container.

You can make an argument that the ubuntu image has unnecessary components that aren’t used in typical Docker setups (an init system, a DHCP client) that make it closer to a “full OS image”; or you can make an argument that, since ubuntu doesn’t have its own kernel, it’s “not an OS”. I’m not really sure how “operating system” is defined these days.

2 Likes