#!/bin/bash # References # https://docs.docker.com/engine/install/ubuntu/ # https://docs.docker.com/engine/install/linux-postinstall/ sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose docker-compose-plugin # Post installation setup sudo systemctl enable docker.service sudo systemctl enable containerd.service # Define Docker user permissions sudo groupadd docker sudo usermod -aG docker $USER # TO DO - Add rootless Docker configuration here # https://docs.docker.com/engine/security/rootless/ echo "Done!" echo "You should log out, and use the 'docker' user for any Docker administration now."