DEV Community

KenjiGoh
KenjiGoh

Posted on

Got permission denied while trying to connect to the Docker daemon socket

The "permission denied" error message indicates that the user running the Docker command does not have the necessary permissions to access the Docker daemon socket.

Using WSL

To use Ubuntu on Windows, you can utilize the Windows Subsystem for Linux (WSL), specifically WSL 2, which allows you to run a Linux environment directly on your Windows machine. Here's how you can set up and use Ubuntu on Windows:

1. Enable Windows Subsystem for Linux (WSL):

Open PowerShell as an administrator.
Run the following command to enable the WSL feature:

wsl --install
Enter fullscreen mode Exit fullscreen mode

Follow the prompts to enable the necessary components. This may require a system restart.

2. Install Ubuntu from the Microsoft Store:

Open the Microsoft Store on your Windows machine.
Search for "Ubuntu" and select the version you want to install (e.g., Ubuntu 20.04 LTS).
Click the "Install" button to start the installation.

3. Launch and set up Ubuntu:

Once the installation is complete, you can launch Ubuntu from the Start menu or by searching for "Ubuntu" in the search bar.
The first time you launch Ubuntu, it will take a moment to set up the necessary files. You will be prompted to create a new username and password for your Ubuntu installation.

4. Use Ubuntu on Windows:

After the initial setup, you will have access to a full Ubuntu shell within your Windows environment.

You can run Ubuntu commands, install packages using the apt package manager, and use many Linux tools and utilities.
The Ubuntu files and filesystem are located within the Windows file system, allowing you to easily access and work with your Windows files from the Ubuntu environment.

Please note that while WSL provides a Linux environment, it is not a complete standalone installation. It runs alongside Windows, sharing some resources, and may have certain limitations depending on the specific use case.

Install Docker on WSL

To install Docker on WSL (Windows Subsystem for Linux), you can follow these steps:

1. Enable WSL 2:

Open PowerShell as an administrator.
Run the following command to set WSL 2 as the default version:

wsl --set-default-version 2
Enter fullscreen mode Exit fullscreen mode

If prompted, download the WSL 2 Linux kernel update package from Microsoft.

2. Install Ubuntu from the Microsoft Store (if not already installed):

Open the Microsoft Store on your Windows machine.
Search for "Ubuntu" and select the version you want to install (e.g., Ubuntu 20.04 LTS).
Click the "Install" button to start the installation.

3. Launch Ubuntu:

Once Ubuntu is installed, launch it from the Start menu or by searching for "Ubuntu" in the search bar.
Complete the initial setup by creating a new username and password.

4. Update Ubuntu:

After launching Ubuntu, update the package lists and upgrade existing packages by running the following commands:

sudo apt update
sudo apt upgrade
Enter fullscreen mode Exit fullscreen mode

5. Install Docker:

Install the required packages by running the following command:

sudo apt install docker.io
Enter fullscreen mode Exit fullscreen mode

6. Add your user to the Docker group:

By default, the Docker daemon requires root privileges to run. To use Docker without sudo, add your user to the Docker group with the following command:

sudo usermod -aG docker $USER
Enter fullscreen mode Exit fullscreen mode

7. Verify Docker installation:

Start the Docker service by running:

sudo service docker start
Enter fullscreen mode Exit fullscreen mode

Check the Docker version to ensure it is installed correctly:

docker version
Enter fullscreen mode Exit fullscreen mode

If there is still Permission Denied Issue:

8. Verify correct socket permissions:

Check the permissions of the Docker daemon socket by running:

ls -l /var/run/docker.sock
Enter fullscreen mode Exit fullscreen mode

The output should show that the socket is owned by the "docker" group and has read and write permissions for the group.
If the permissions are incorrect, you can adjust them with the following command:

sudo chmod 666 /var/run/docker.sock
Enter fullscreen mode Exit fullscreen mode

9. Test Docker again:

Retry the Docker command that was initially giving you the "permission denied" error.

By following these steps, you should be able to resolve the "permission denied" issue and successfully connect to the Docker daemon socket.

Top comments (3)

Collapse
 
chiranjib_b profile image
Chiranjib

This is brilliant! Thank you for sharing!

Collapse
 
khaledalhamwie profile image
khaled al hamwie

hi thank you a lot for your help

Collapse
 
rodnoycry profile image
Nikita Leontev • Edited

You just saved me THANK YOU <3