02 - Docker Installation and Configuration
Docker installation and configuration
Before using Docker, install it on your system. This guide covers Windows, macOS, and Linux plus basic configuration.
System requirements
Windows
- Windows 10 64-bit Pro/Enterprise/Education (Build 16299+)
- Hyper-V and Containers enabled
- ≥ 4GB RAM
macOS
- macOS 10.14+ (Mojave or later)
- ≥ 4GB RAM
Linux
- 64-bit Ubuntu/Debian/CentOS/Fedora, etc.
- Kernel 3.10+
- ≥ 4GB RAM
Install on Windows
Docker Desktop for Windows
- Download from Docker.
- Run
Docker Desktop Installer.exe. - Follow the wizard.
- Docker starts after install.
Verify
docker --version
docker-compose --version
Install on macOS
Docker Desktop for Mac
- Download from Docker.
- Open the
.dmg. - Drag Docker to Applications.
- Launch Docker; grant permissions if prompted.
Verify
docker --version
docker-compose --version
Install on Linux (Ubuntu example)
Other distros: see official docs.
Script install (recommended for newcomers)
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Manual install
- Update and install deps:
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
- Add Docker GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- Add stable repo:
echo "deb [arch=amd64 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
- Install Engine:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
Add user to docker group (avoid sudo)
sudo usermod -aG docker $USER
Log out/in to take effect.
Verify
docker --version
Basic Docker config
Registry mirrors (faster pulls)
Windows/macOS (Docker Desktop)
- Tray icon → Settings/Preferences.
- Docker Engine tab, add mirrors:
{
"registry-mirrors": [
"https://registry.cn-hangzhou.aliyuncs.com"
]
}
- Apply & Restart.
Linux
sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json
Add:
{
"registry-mirrors": [
"https://registry.cn-hangzhou.aliyuncs.com"
]
}
Restart:
sudo systemctl daemon-reload
sudo systemctl restart docker
Change default data root
Windows (Desktop)
Settings → Resources → Advanced → change “Disk image location” → Apply & Restart.
macOS (Desktop)
Preferences → Resources → Advanced → change “Disk image location” → Apply & Restart.
Linux
sudo systemctl stop docker
Edit /etc/docker/daemon.json:
{
"data-root": "/path/to/your/docker/data"
}
Copy existing data:
sudo rsync -aP /var/lib/docker/ /path/to/your/docker/data/
Restart:
sudo systemctl daemon-reload
sudo systemctl start docker
Verify install/config
# Version
docker --version
# Hello-world test
docker run hello-world
You should see “Hello from Docker!” if everything is set up correctly.
Summary
You installed Docker on Windows/macOS/Linux and set basic config. Next: core Docker commands to create and manage containers.