#!/usr/bin/env bash set -euo pipefail if [[ $EUID -ne 0 ]]; then echo "Run with sudo/root: sudo ./install-docker-hold.sh" exit 1 fi apt-get update -y apt-get install -y ca-certificates curl gnupg lsb-release install -m 0755 -d /etc/apt/keyrings if [[ ! -f /etc/apt/keyrings/docker.gpg ]]; then curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg fi chmod a+r /etc/apt/keyrings/docker.gpg ARCH="$(dpkg --print-architecture)" CODENAME="$(. /etc/os-release && echo "$VERSION_CODENAME")" cat < /etc/apt/sources.list.d/docker.list deb [arch=${ARCH} signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu ${CODENAME} stable REPO apt-get update -y apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin systemctl enable --now docker apt-mark hold docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin apt-mark showhold docker --version docker compose version