In this article, we will see what is docker.sock and how it works along with examples.

One of the important components of the Docker is the docker.sock. It is a Unix socket that is used by the Docker daemon to communicate with the Docker client. This provides a more secure and efficient way of communication between the Docker client and the Docker daemon.

This is created when the docker daemon starts up and is located at /var/run/docker.sock on the host machine.

How does docker.sock works?

The docker.sock file is used by the Docker client to send commands to the Docker daemon, and receive responses from the Docker daemon. When we run the Docker command, such as docker run, the Docker client sends the command to the Docker daemon over the docker.sock file.

The Docker daemon executes the command inside a container and sends the response back to the Docker client over the docker.sock file. This allows the user to interact with the Docker daemon and manage Docker containers using the Docker CLI.

Example of using docker.sock

Assume, we have a Docker container running on our local machine, and we want to start a new container and mount a volume to it.

docker run -it -v /my/local/folder:/data my-image:latest

When we run the above command, the Docker client sends the command to the Docker daemon over the docker.sock file. The Docker daemon then starts a new container using the my-image Docker image and mount the /my/local/folder directory to the /data directory inside the container, and sends the response back to the Docker client over the docker.sock file.

Categorized in:

Tagged in: