Answering on your question container images become containers at runtime and in the case of Docker containers - images become containers when they run on Docker Engine. But as in most pictures of containers architecture docker engine is deployed on entire layer between host operating system and contenerized application because aim of contenerized architecture is to build just contenerized application on top.
So if you don't want to deploy only contenerized application on top of operating system you don't have to use Docker Engine and that implies that Docker Engine don't have to be used and deployed on entire level of docker architecture. It is up to you while creating such architecture if you want to allocate whole layer on docker enginer and assume that whole every single application in your environment will be contenerized one.
We can define Docker Engine as the runtime (is a client-server application)and tooling that enables container applications, defined by a Dockerfile, to run on top of a host operating system in an isolated "container" section.
I hope it helps.