Nishant Bhardwaj

After setting up Jenkins and creating my first Declarative Pipeline, the next step was preparing my machine to build Docker images.

Since my pipeline will eventually clone code from GitHub, build a Docker image, and push it to a container registry, Jenkins needs access to Docker. Without Docker installed, the docker build stage would fail because Jenkins wouldn't be able to execute Docker commands.

Installing Docker

On my Ubuntu machine, I installed Docker using:

sudo apt update
sudo apt install docker.io -y

Once the installation completed, I verified it using:

docker --version

This confirmed that Docker was successfully installed and ready to use.

Verifying Docker Installation

Installing Docker is only half the job. The next step is to check whether your current user has permission to use Docker.

Run:

docker ps
Expected Output

If everything is configured correctly, you should see something similar to:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

Even if no containers are running, getting an empty table like the one above means Docker is working correctly.

What If You Get a Permission Error?

If you see an error like:

permission denied while trying to connect to the Docker daemon socket

it means your current user doesn't have permission to access the Docker daemon.

First, check which user you're currently logged in as:

whoami

Example output:

nishant

Now add your user to the docker group:

sudo usermod -aG docker $USER

What does this command do?

usermod modifies a user account.
-aG means append the user to a supplementary group without removing existing groups.
docker is the group that has permission to communicate with the Docker daemon.
$USER automatically refers to your currently logged-in username.
Apply the Changes

The group membership won't take effect immediately.

You have two options:

Option 1 (Recommended):

Log out of your Ubuntu session and log back in. This refreshes your user groups and is the most reliable method.

Option 2:

Simply restart your terminal session (or open a new one). In many cases, logging out and back in is still required for the changes to take full effect.

Verify Again

Run the command once more:

docker ps

If you now see an empty container list instead of a permission error, Docker is configured correctly and you're ready to use it from your Jenkins pipeline.

Learning Note: This is one of the most common issues beginners face after installing Docker. The installation succeeds, but Docker commands fail because the user hasn't been added to the docker group.