deerflow-code/scripts/setup-wsl-docker.sh
2026-09-07 18:24:55 +08:00

43 lines
1.1 KiB
Bash

#!/usr/bin/env bash
# Installs Docker Engine in an Ubuntu WSL distribution. Run as root.
set -euo pipefail
if [[ "${EUID}" -ne 0 ]]; then
echo "Run this script as root." >&2
exit 1
fi
. /etc/os-release
if [[ "${ID}" != "ubuntu" ]]; then
echo "This installer supports Ubuntu only (detected: ${ID})." >&2
exit 1
fi
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
cat > /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: ${VERSION_CODENAME}
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin
systemctl enable --now docker
docker version --format 'Docker Engine {{.Server.Version}} is ready.'
docker compose version