Skip to main content

Docker Setup - Ubuntu Server

Install Docker Engine on Ubuntu

Uninstall old versions

Skip the first step if Docker has not been installed previously

1. Uninstall old versions of Docker.

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

Install using the apt repository

Repository Setup

2. 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

3. 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

4. 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

Install Docker Engine

5. Update the apt package index:

sudo apt-get update

6. Install the latest version of Docker Engine, containerd, and Docker Compose.

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

7. Add yourself to the docker group to run docker commands without sudo.

sudo usermod -aG docker $USER

8. Access the new group without having to re-login.

newgrp docker

9. Verify that the Docker Engine installation is successful by running the hello-world image.

docker run hello-world

Installing Portainer

10. First, create the volume that Portainer Server will use to store its database:

docker volume create portainer_data

11. Then, download and install the Portainer Server container:

docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

12. You can access the Portainer web interface by going to:

https://localhost:9443  

Sources: