Docker Manager

This page helps you install and configure Docker on your host machine. Select your operating system below for step-by-step instructions and basic settings.

Install Docker Desktop
  1. Download Docker Desktop for Windows
  2. Run the installer and follow the setup wizard
  3. Enable WSL 2 when prompted (recommended for better performance)
  4. Restart your computer if required
  5. Start Docker Desktop from the Start menu
Basic Configuration
  • Resources: Docker Desktop → Settings → Resources — adjust CPU, memory, and disk
  • WSL 2: Requires Windows 10 64-bit (Build 19041+) or Windows 11
  • Hyper-V: Alternative to WSL 2 on older Windows versions

Install Docker Desktop
  1. Download Docker Desktop for Mac (choose Apple Silicon or Intel)
  2. Open the .dmg file and drag Docker to Applications
  3. Launch Docker from Applications and complete first-run setup
  4. Grant permissions when prompted
Basic Configuration
  • Resources: Docker Desktop → Settings (gear icon) → Resources — CPU, memory, swap, disk
  • File sharing: Settings → Resources → File sharing — add directories for volume mounts
  • VirtioFS: Recommended on Apple Silicon for faster file sharing

Docker Engine only — for headless Linux servers. Pick your distro: Debian and Ubuntu use different repositories.

Supported: Debian Bookworm 12, Bullseye 11, Trixie 13.

Step 1: Prerequisites and GPG key
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /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
Step 2: Add Docker repository (Debian)
echo "Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc" | sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null
sudo apt update

If you use a derivative (e.g. Kali), replace $(. /etc/os-release && echo "$VERSION_CODENAME") with your Debian codename (e.g. bookworm).

Step 3: Install Docker Engine
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl start docker
sudo systemctl enable docker
Step 4: Run without sudo (optional)
sudo usermod -aG docker $USER
# Log out and back in for changes to take effect
Step 5: Verify
sudo docker run hello-world
Step 6: Connect to GCP (pull/push GCR images)

To pull or push images from Google Container Registry (e.g. us.gcr.io/PROJECT_ID/IMAGE:TAG):

# Install Google Cloud SDK
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee /etc/apt/sources.list.d/google-cloud-sdk.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg
sudo apt update && sudo apt install -y google-cloud-cli

Authenticate — use a service account for servers (recommended); use interactive login only if you have a browser.

Option A: Service account (CI / server / recommended)
  1. In GCP Console → IAM → Service Accounts, create a service account (or use existing).
  2. Grant it Storage Admin or Artifact Registry Reader (for pull only) / Writer (for push).
  3. Create a JSON key: Actions ⋮ → Manage keys → Add key → Create new key → JSON. Save as gcr-key.json.
  4. Copy the key to the server (e.g. scp gcr-key.json user@server:/path/). Secure it: chmod 600 /path/gcr-key.json.
# Authenticate with service account (no browser)
gcloud auth activate-service-account --key-file=/path/to/gcr-key.json

# Set default project (replace with your PROJECT_ID)
gcloud config set project aesthetic-honor-348318

# Configure Docker to use gcloud for GCR
gcloud auth configure-docker us.gcr.io
Option B: Interactive login (dev only, requires browser)
gcloud auth login
gcloud auth configure-docker us.gcr.io

Then pull or push as usual:

# Pull an image
docker pull us.gcr.io/aesthetic-honor-348318/voicelab-ui:0.3

# Tag and push (after building or tagging)
docker tag myimage:latest us.gcr.io/aesthetic-honor-348318/voicelab-ui:0.4
docker push us.gcr.io/aesthetic-honor-348318/voicelab-ui:0.4

Supported: Ubuntu Noble 24.04, Jammy 22.04, Focal 20.04, etc.

Step 1: Prerequisites and GPG key
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
Step 2: Add Docker repository (Ubuntu)
echo "Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc" | sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null
sudo apt update
Step 3: Install Docker Engine
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl start docker
sudo systemctl enable docker
Step 4: Run without sudo (optional)
sudo usermod -aG docker $USER
# Log out and back in for changes to take effect
Step 5: Verify
sudo docker run hello-world
Basic Configuration
  • Daemon config: /etc/docker/daemon.json — storage driver, log settings, etc.
  • Other distros: Docker Engine install docs for CentOS, Fedora, RHEL, etc.
Official Documentation

Get Docker · Debian · Ubuntu · Other distros