This project demonstrates how to serve a static HTML web page using Docker, Docker Compose, and Nginx.
-
Update the package index:
sudo apt update
-
Install required packages:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
-
Add Docker’s official GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
-
Add Docker repository:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu noble stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-
Update package index again:
sudo apt update
-
Install Docker:
sudo apt install -y docker-ce docker-ce-cli containerd.io
-
Verify Docker installation:
sudo systemctl start docker sudo systemctl enable docker docker --version
-
Add user to Docker group (to run Docker without sudo):
sudo usermod -aG docker $USER
Note: Log out and back in to apply group changes.
-
Download the latest Docker Compose binary:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
-
Make it executable:
sudo chmod +x /usr/local/bin/docker-compose
-
Verify installation:
docker-compose --version