When installing Docker on Ubuntu, there are multiple options and configurations to consider both during and after installation. Here’s a comprehensive guide:

During Installation
1. Install from the Official Ubuntu Repository (Basic)
sudo apt update
sudo apt install docker.io -y
- Pros: Simple, stable.
- Cons: Might not have the latest version.
2. Install from Docker’s Official Repository (Recommended)
sudo apt update
sudo apt install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null
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/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
- Pros: Latest stable version, full feature set.
- Cons: Slightly longer setup.
3. Install from a DEB Package (Offline Installation)
wget https://download.docker.com/linux/ubuntu/dists/$(lsb_release -cs)/pool/stable/amd64/docker-ce_XX.YY.ZZ~3-0~ubuntu_amd64.deb
sudo dpkg -i docker-ce_XX.YY.ZZ~3-0~ubuntu_amd64.deb
- Pros: Useful for air-gapped environments.
- Cons: Manual updates required.
4. Install Using Snap (Not Recommended)
sudo snap install docker
- Pros: Easy installation and updates.
- Cons: Can have permission issues with volume mounts.
After Installation
1. Verify Installation
docker --version
docker info
2. Start and Enable Docker Service
sudo systemctl start docker
sudo systemctl enable docker
3. Run a Test Container
sudo docker run hello-world
4. Allow Non-root Users to Run Docker
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
- Pros: Run Docker without
sudo
. - Cons: May have security risks.
5. Enable Docker to Start on Boot
sudo systemctl enable docker
6. Configure Docker Daemon Settings
- Edit the configuration file:
sudo nano /etc/docker/daemon.json
- Example configuration:
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "3" },
"storage-driver": "overlay2",
"insecure-registries": ["myregistry.local:5000"]
}
- Restart Docker:
sudo systemctl restart docker
7. Check Logs
sudo journalctl -u docker --no-pager
8. Install Docker Compose
sudo apt install docker-compose-plugin
docker compose version
9. Set Up a Private Docker Registry
docker run -d -p 5000:5000 --restart=always --name registry registry:2
10. Remove Docker (if needed)
sudo apt remove docker-ce docker-ce-cli containerd.io -y
sudo rm -rf /var/lib/docker /etc/docker
Optional Configurations
– Use Different Storage Drivers
docker info | grep "Storage Driver"
- Change driver (Example:
overlay2
):
sudo systemctl stop docker
sudo rm -rf /var/lib/docker
sudo nano /etc/docker/daemon.json
# Add:
{
"storage-driver": "overlay2"
}
sudo systemctl restart docker
– Enable IPv6
sudo nano /etc/docker/daemon.json
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64"
}
sudo systemctl restart docker
– Configure Remote API
sudo nano /lib/systemd/system/docker.service
# Modify ExecStart:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
sudo systemctl daemon-reload
sudo systemctl restart docker
These steps cover all major aspects of Docker installation and configuration on Ubuntu.🚀
Leave a Reply