App on Docker containers

I am new to containers.

My understanding is one container can carry only one app with single port listening.
Multiple apps on single container or a single app on multiple containers is not possible.

I also learned that Windows containers cant be run on Linux Docker. And I guess same is true other way also (Linux container on Win docker is also not possible).

Is my understanding correct.

A Docker container image is a lightweight, self-contained, and executable software package that includes everything you need to run an application: code, runtime, system tools, system libraries, and settings.
It’s fine to have multiple applications but to get the most out of Docker, avoid having one container be responsible for various aspects of your overall application. You can connect multiple containers using user-defined networks and shared volumes.
Learn More about Docker containers

Thanks Sonnu. So, we can create one container with multiple applications/services. Exp : on a Docker host/Engine, one container with dns and DHCP services can be created. Am i correct.

The link below will be useful: