- Image contains all the additional file changes required to run your application. This is likely a union of your os files + your application files.
- Docker Daemon
- Docker Client
- Docker Hub
Docker uses Copy on Write and union file system to optimize resource usage. It uses Overlayfs filesystem architecture as one of the storage driver to manage file changes1.
Docker Compose is a tool with which you can define multiple containers that your application needs and launch all of them with one command. For example, if your application has a HTTP Server, SQL Database, and a logging framework, you can define all of them in separate containers and launch them using Docker Compose.