What is the need for Docker Daemon?

Docker client provides cli only, it is just an http api wrapper, Like aws cli.

Docker daemon is the brain behind the whole operation, like aws itself. When you use docker run command to start up a container, your docker client will translate that command into http API call, sends it to docker daemon, Docker daemon then evaluates the request, talks to underlying os and provisions your container.

Please note docker cli can connect to remote docker daemon, and you can configure your docker daemon to use tcp IP.

Question in my mind was, what is the preferred way to work in a team? One daemon for whole team on separate server with each dev running a client? Or each dev has his own demon.

This is up to you but most of the time developers have a local docker daemon and client, building Images using dockerfiles. If they need to share docker images, You can provide local docker registry or use public ones. This way, Taking advantage docker you can have exact same dev environment at developers disposal. This development environment will be similar to production environment.

Leave a Comment