Skip to content

Instantly share code, notes, and snippets.

@carlos-algms
Last active May 30, 2024 11:15
Show Gist options
  • Save carlos-algms/707650eff4f1c9beb83f016bed3ec9a9 to your computer and use it in GitHub Desktop.
Save carlos-algms/707650eff4f1c9beb83f016bed3ec9a9 to your computer and use it in GitHub Desktop.
Install docker on Ubuntu

Install docker on Ubuntu / Debian / Raspbian

An script to automate docker installation instead of copy/pasting comands spread across docker documentation

run:

sh -c "$(curl -fsSL https://gist.githubusercontent.com/carlos-algms/707650eff4f1c9beb83f016bed3ec9a9/raw/install.sh)"

it will run unattended and install docker on linux.

#!/bin/bash
echo '
➡ Running an initial system update
'
sudo apt-get update
sudo apt-get install -y \
ca-certificates \
curl \
gnupg
echo '
➡ Installing docker reyrings and gpg key
'
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 '
➡ Adding Docker’s PPA repository
'
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
echo '
➡ Installing Docker and docker compose
'
sudo apt-get update
sudo apt-get install -y \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin \
cgroupfs-mount
sudo usermod -aG docker $USER
echo '
➡ Changing the default logging driver to "local"
🔗 https://docs.docker.com/config/containers/logging/configure
'
echo '{
"log-driver": "local",
"log-opts": {
"max-size": "50m",
"max-file": "3",
"mode": "non-blocking",
"max-buffer-size": "4m"
}
}' | sudo tee -a /etc/docker/daemon.json
# this enters in a new shell, and stop the script
# newgrp docker
sudo service docker restart
sudo docker info --format '{{.LoggingDriver}}'
echo '
You now have to reboot, or re-login to make the changes permanent
'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment