idea
we package ou
run any app on any machine
containers can talk to each other, so a Java app in one container can talk to SQL database in another
scalability
you can scale up and down by increasing and decreasing the number of containers running the same application
resources
are shared with the host => many containers on one host
architecture
normal virtualisation: Infrastructure –> Host OS –> Hypervisor –> Guest OS(s) with their apps
Docker: Infrastructure –> Host OS –> Docker daemon –> Containers (because daemon is very light weight, you can run a lot of them)
how to
to manager containers we need a container management platform