fix: use Docker convenience script for Ubuntu/Debian
The manual apt repo setup failed because uname -m returns x86_64 but Docker repo expects amd64 as arch name. Use get.docker.com which handles arch/codename/GPG correctly. Also added proper arch mapping (x86_64→amd64, aarch64→arm64) for future use.
This commit is contained in:
+9
-12
@@ -36,7 +36,12 @@ detect_os() {
|
||||
}
|
||||
|
||||
OS=$(detect_os)
|
||||
ARCH=$(uname -m)
|
||||
RAW_ARCH=$(uname -m)
|
||||
case "$RAW_ARCH" in
|
||||
x86_64) ARCH="amd64" ;;
|
||||
aarch64) ARCH="arm64" ;;
|
||||
*) ARCH="$RAW_ARCH" ;;
|
||||
esac
|
||||
|
||||
# ── Git ──────────────────────────────────────────
|
||||
if ! command -v git &>/dev/null; then
|
||||
@@ -66,15 +71,7 @@ if $NEED_DOCKER; then
|
||||
info "Installing Docker Engine..."
|
||||
case "$OS" in
|
||||
ubuntu|debian)
|
||||
sudo apt update -qq
|
||||
sudo apt install -y -qq ca-certificates curl
|
||||
sudo install -m 0755 -d /etc/apt/keyrings
|
||||
sudo curl -fsSL https://download.docker.com/linux/"$OS"/gpg -o /etc/apt/keyrings/docker.asc
|
||||
sudo chmod a+r /etc/apt/keyrings/docker.asc
|
||||
echo "deb [arch=$ARCH signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/$OS $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
|
||||
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
sudo apt update -qq
|
||||
sudo apt install -y -qq docker-ce docker-ce-cli containerd.io
|
||||
curl -fsSL https://get.docker.com | sh
|
||||
;;
|
||||
arch|endeavouros)
|
||||
sudo pacman -S --noconfirm docker
|
||||
@@ -97,8 +94,8 @@ if $NEED_DOCKER; then
|
||||
log "Docker Engine installed"
|
||||
fi
|
||||
|
||||
if $NEED_COMPOSE && ! command -v docker &>/dev/null; then
|
||||
# fresh install — compose plugin is already included in docker-ce package
|
||||
# Re-check compose — fresh Docker install may have included it
|
||||
if $NEED_COMPOSE && docker compose version &>/dev/null; then
|
||||
NEED_COMPOSE=false
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user