# Docker

{% hint style="info" %}
This is a quick reference to the docker installation steps to take, but you can always check the full installation guide on the [official docker website](https://docs.docker.com/engine/install/ubuntu/).
{% endhint %}

### **Set up the repository**

* Older versions of Docker were called `docker`, `docker.io`, or `docker-engine`. If these are installed, uninstall them:

  ```shell
  sudo apt-get remove docker docker-engine docker.io containerd runc
  ```

* Update the `apt` package index and install packages to allow `apt` to use a repository over HTTPS:&#x20;

  ```shell
  sudo apt-get update
   
  sudo apt-get install \
      ca-certificates \
      curl \
      gnupg \
      lsb-release
  ```

* Add Docker’s official GPG key:&#x20;

  ```shell
  sudo mkdir -p /etc/apt/keyrings
  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  ```

* Use the following command to set up the **stable** repository

  ```shell
  echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  ```

### **Install Docker Engine**

* Update the `apt` package index, and install the *latest version* of Docker Engine and containerd:

  ```shell
  sudo apt-get update
  sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  ```

* Verify that Docker Engine is installed correctly by running the `hello-world` image.

  ```shell
  sudo service docker start
  sudo docker run hello-world
  ```

* Add User to Docker Group&#x20;

  ```shell
  sudo usermod -aG docker $USER
  ```

  you can replace **$USER** with the name of the user account
