Install Docker on Debian
Learn how to easily install Docker on Debian or Ubuntu to run containers and manage applications.
Docker Installation
Download Docker:
sudo apt-get install -y ca-certificates curl && sudo mkdir -p /etc/apt/keyrings && sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && sudo chmod a+r /etc/apt/keyrings/docker.asc && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null && sudo apt-get update
Install Docker and Docker Compose:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Set Docker to start automatically on boot:
sudo systemctl enable docker
(Retrieved from Docker documentation on August 25, 2024)
Add yourself to the Docker group to allow you running Docker commands without needing sudo every time. Replace username with your own:
sudo usermod -aG docker username
Create Docker Application
Create a folder to keep all your Docker applications organized:
mkdir ~/docker
cd ~/docker
Create application folder inside the docker folder and go into it:
mkdir app1
cd app1
Create docker-compose.yml:
nano docker-compose.yml
Start/Stop Docker Application
Start Docker container:
docker compose up -d
See a list of running containers defined in docker-compose.yml file in current working directory:
docker compose ps
See all running containers on your server:
docker ps
Stop Docker container:
docker compose down
Delete Docker Application
Stop Docker container:
docker compose down
Delete volumes:
docker volume ls
docker volume rm <volume_name>
Stop Docker container and remove volumes together:
docker compose down --volumes
A volume is a storage space where your container’s data is stored. If you back up docker-compose.yml and volume, you can restore your Docker container and its data later. If you delete volume, data is lost and container is reset.
Delete Docker image:
docker rmi <repository:tag/image_id>
An image includes the files (HTML, CSS, JavaScript, SQL) and other components your application needs to run.
Finally, delete application folder:
rm -rf app1
WARNINGYou can run
docker compose down; docker system prune -a --volumes
to delete all unused containers, volumes, and images from your server. However, be careful as this command deletes all data that is not actively in use. Ensure your other containers are running before using this command.