docker
At the core of the Docker architecture lies a client-server model, where we have two primary components:
- The Docker daemon
- The Docker client
The Docker client acts as our interface for issuing commands and interacting with the Docker ecosystem, while the Docker Daemon
, also known as the Docker server, is responsible for executing those commands and managing containers.
Think of a Docker image
as a blueprint or a template for creating containers. A Docker container
is an instance of a Docker image. It is a lightweight, isolated, and executable environment that runs applications. While images
are immutable and read-only
, containers
are mutable and can be modified
during runtime. However, any modifications made to a container's filesystem are not persisted unless explicitly saved as a new image or stored in a persistent volume.
Installation
To make sure that I have docker engine, docker compose and nginx installed.
Depending on the image you are going to compose you will need nginx or other dependencies.
Another way, see https://www.kali.org/docs/containers/installing-docker-on-kali/