Docker Setup
Overview
Section titled “Overview”Docker lets you run applications in isolated containers. This guide covers installing Docker Engine on a Debian/Ubuntu server and getting a first container running.
Prerequisites
Section titled “Prerequisites”- A Debian 12 or Ubuntu 22.04+ server
- A user with
sudoprivileges - Internet access
Installation
Section titled “Installation”Remove any old Docker packages first:
sudo apt remove docker docker-engine docker.io containerd runcInstall dependencies and add Docker’s official repository:
sudo apt updatesudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgsudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullInstall Docker Engine:
sudo apt updatesudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginPost-install
Section titled “Post-install”Add your user to the docker group so you can run Docker without sudo:
sudo usermod -aG docker $USERnewgrp dockerEnable Docker to start on boot:
sudo systemctl enable dockersudo systemctl start dockerVerify
Section titled “Verify”docker run hello-worldYou should see a confirmation message that Docker is working correctly.
Basic Commands
Section titled “Basic Commands”| Command | Description |
|---|---|
docker ps | List running containers |
docker ps -a | List all containers |
docker images | List downloaded images |
docker stop <id> | Stop a container |
docker rm <id> | Remove a container |
docker rmi <image> | Remove an image |
docker compose up -d | Start services from compose.yml |
docker compose down | Stop and remove services |
Updating Docker
Section titled “Updating Docker”sudo apt update && sudo apt upgrade docker-ce docker-ce-cli containerd.io