D: Setting up a development environment can be tricky, but with Docker, you can simplify dependency management and ensure consistency across different machines. ๐ ๏ธ In this guide, we’ll walk through installing Docker Engine and Docker Compose on Ubuntu in a single, streamlined process.
๐ง Prerequisites
Before diving in, make sure you have:
โ Ubuntu (20.04 LTS or later recommended)
โ Terminal access (with sudo
privileges)
โ Stable internet connection
๐ง Step 1: Update & Install Dependencies
First, update your package list and install necessary tools:
sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
This ensures your system is up-to-date and ready for Docker.
๐ Step 2: Add Dockerโs Official GPG Key & Repository
Docker provides its own repository for secure installations.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
This adds Dockerโs official package source.
โก Step 3: Install Docker Engine
Now, install Docker:
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
Verify installation by checking Dockerโs version:
docker --version
# Output: Docker version 20.10.12, build e91ed57
๐ Docker is now running!
๐งฉ Step 4: Install Docker Compose
Docker Compose helps manage multi-container apps. Install it with:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Check if it works:
docker-compose --version
# Output: Docker Compose version v2.3.3
๐ Step 5: Post-Installation Steps
1. Run Docker Without sudo
(Optional)
By default, Docker requires sudo
. To avoid this, add your user to the docker
group:
sudo usermod -aG docker $USER
newgrp docker # Refresh group changes
Now, test Docker without sudo
:
docker run hello-world
(You should see a welcome message! ๐)
2. Enable Docker on Startup (Optional)
To start Docker automatically on boot:
sudo systemctl enable docker
๐ Bonus: Test with a Simple Docker Compose Example
Letโs deploy an Nginx web server using docker-compose.yml
:
version: '3'
services:
web:
image: nginx:latest
ports:
- "8080:80"
Run it with:
docker-compose up -d
Visit http://localhost:8080
to see Nginx running! ๐ฅ๏ธ
๐ฅ Troubleshooting Common Issues
โ “Permission Denied” when running Docker?
โ Ensure your user is in the docker
group (groups $USER
).
โ Docker Compose not found?
โ Check if /usr/local/bin
is in your PATH
.
โ Port already in use?
โ Change the port mapping (e.g., "8081:80"
).
โ Conclusion
Youโve successfully installed Docker and Docker Compose on Ubuntu! ๐ Now you can:
- ๐ณ Run containers effortlessly
- ๐งฉ Manage multi-service apps with Compose
- ๐ Streamline your development workflow
๐ Pro Tip: Explore Dockerโs official docs for advanced features!
Happy Dockerizing! ๐๐ป