The “subclass”-type inheritance is due to the underlying union filesystem (AUFS). Each command in the Dockerfile is applied as a layer and then cached, and each resulting image can be referenced as a starting point from another Dockerfile.
On Docker single inheritance
reposted I was ready to come in swinging in defending Docker, but I found myself agreeing… | Hacker News