Skip to main content

Install docker

Ubuntu

#!/bin/bash

set -euo pipefail

SELF="${BASH_SOURCE[0]}"
SELF="$(realpath -ms "$SELF")"
cd "$(dirname "$SELF")" || exit 2

if ((UID)) && ! [[ -v SUDO_USER ]]; then
    exec sudo "$SELF" "$@"
fi

curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

chmod a+r /etc/apt/keyrings/docker.asc

arch="$(dpkg --print-architecture)"
release="$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")"

cat <<EOF >/etc/apt/sources.list.d/docker.list
deb [arch=${arch} signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $release stable
EOF

apt update

pkgs=(
    docker-ce
    docker-ce-cli
    containerd.io
    docker-buildx-plugin
    docker-compose-plugin
)

apt install -y  "${pkgs[@]}"

systemctl enable --now docker.service