Docker is a tool which manages the container, using docker we can run as many applications. It save cost and improves the quality. Docker client,API and Docker server we called it as docker engine. Using docker we can run the single application in multiple container at the same time which helps to reduce the wastage of resources as well.
Container is a light weight application powered by kernel and maintained by docker. A container contains the necessary code and there dependencies need to run the application. contains PID, network namespace and an image and user so that we can run the container
Docker works with the docker images which is stored in the docker repository, we can run any application using the docker run command only we need the docker image.The image will be pulled from the repository and then docker request to the kernel for it PID, network namespace and it will create user and then we can run the application as much as we want.
Container works as an individual process, it will contain the codes and necessary dependencies.it will be sharing the kernel os.
it will be running an instance of an image.
Docker engine(docker client, API and docker server), Docker repository, Docker image, Docker Daemon