# Docker

# Install (ubuntu)

Run the following command to uninstall all conflicting packages:

```
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
```

`apt-get` might report that you have none of these packages installed.

Images, containers, volumes, and networks stored in `/var/lib/docker/` aren’t automatically removed when you uninstall Docker. If you want to start with a clean installation, and prefer to clean up any existing data, read the [uninstall Docker Engine](https://docs.docker.com/engine/install/ubuntu/#uninstall-docker-engine) section.

### Install using the apt repository

Before you install Docker Engine for the first time on a new host machine, you need to set up the Docker repository. Afterward, you can install and update Docker from the repository.

#### Set up the repository

1. Update the `apt` package index and install packages to allow `apt` to use a repository over HTTPS:
    
    ```
    sudo apt-get update
    sudo apt-get install ca-certificates curl gnupg
    ```
2. Add Docker’s official GPG key:
    
    ```
    sudo install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    sudo chmod a+r /etc/apt/keyrings/docker.gpg
    
    ```
3. Use the following command to set up the repository:
    
    ```
     echo \
      "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
      "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    ```
    
    > **Note**
    > 
    > If you use an Ubuntu derivative distro, such as Linux Mint, you may need to use `UBUNTU_CODENAME` instead of `VERSION_CODENAME`.

#### Install Docker Engine

1. Update the `apt` package index:
    
    ```
    sudo apt-get update
    
    ```
2. Install Docker Engine, containerd, and Docker Compose.
    
    
    - <a data-target="#tab-latest" data-toggle="tab">Latest</a>
    - <a data-target="#tab-version" data-toggle="tab">Specific version</a>
    
    <div class="tab-content">  
    <div class="tab-pane fade in active">  
    </div></div>To install the latest version, run:
    
    ```
     sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    ```
    
    <div class="tab-content"><div class="tab-pane fade in active" id="bkmrk-"><div class="language-console highlighter-rouge"><div class="highlight">  
    </div></div></div>---
    
    </div>
3. Verify that the Docker Engine installation is successful by running the `hello-world` image.
    
    ```
    sudo docker run hello-world
    
    ```
    
    This command downloads a test image and runs it in a container. When the container runs, it prints a confirmation message and exits.

sudo groupadd docker  
sudo usermod -aG docker $USER  
newgrp docker