Docker
Install Docker
This section will focus on installing Docker on your Linux machine
Please review the code script and ensure you understand it before running it on your system.
Custom script
This script will automatically install Docker on your Linux system.
bash
curl -fsSL cdn.aio.sh/docker.sh | shPost installation
Create the docker group:
bash
sudo groupadd dockerAdd the user to the Docker group:
bash
sudo usermod -aG docker $USERActivate the changes:
bash
newgrp dockerVerify if you can use docker:
bash
docker psThe script:
install-docker.shbash
#!/bin/bash
# Define logging functions
echo_fail() {
printf "\e[31m✘ \033\e[0m$@\n"
}
echo_pass() {
printf "\e[32m✔ \033\e[0m$@\n"
}
echo_warn() {
printf "\e[33m• \033\e[0m$@\n"
}
echo_pause() {
printf "\e[34m⸸ \033\e[0m$1\n"
}
echo_question() {
if [ "$2" = "" ]; then
printf "\e[33m? \033\e[0m$@\n"
else
printf "\e[33m? \033\e[0m$@"
fi
}
echo_info() {
printf "\e[34mℹ \033\e[0m$1\n"
}
echo_point() {
if [ "$2" = "" ]; then
printf "\e[34m→ \033\e[0m$1\n"
else
printf "\e[34m→ \033\e[0m$1"
fi
}
echo_bullet() {
printf "\e[34m• \033\e[0m$1\n"
}
echo_wait() {
if [ "$2" = "" ]; then
printf "\e[33m⏲ \033\e[0m$1\n"
else
printf "\e[33m⏲ \033\e[0m$1"
fi
}
# Update package list
echo_info "Updating package list..."
if sudo apt-get update > /dev/null 2>&1; then
echo_pass "Package list updated successfully."
else
echo_fail "Failed to update package list."
exit 1
fi
# Install required packages
echo_info "Installing required packages (ca-certificates, curl)..."
if sudo apt-get install -y ca-certificates curl > /dev/null 2>&1; then
echo_pass "Required packages installed successfully."
else
echo_fail "Failed to install required packages."
exit 1
fi
# Create directory for APT keyrings
echo_info "Creating directory for APT keyrings..."
if sudo install -m 0755 -d /etc/apt/keyrings > /dev/null 2>&1; then
echo_pass "Directory created successfully."
else
echo_fail "Failed to create directory."
exit 1
fi
# Download Docker's GPG key
echo_info "Downloading Docker's GPG key..."
if sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc > /dev/null 2>&1; then
echo_pass "Docker's GPG key downloaded successfully."
else
echo_fail "Failed to download Docker's GPG key."
exit 1
fi
# Add read permissions for everyone to the GPG key
echo_info "Setting read permissions for the GPG key..."
if chmod a+r /etc/apt/keyrings/docker.asc > /dev/null 2>&1; then
echo_pass "Read permissions set successfully."
else
echo_fail "Failed to set read permissions."
exit 1
fi
# Add Docker's APT repository
echo_info "Adding Docker's APT repository..."
if echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null; then
echo_pass "Docker's APT repository added successfully."
else
echo_fail "Failed to add Docker's APT repository."
exit 1
fi
# Update package list again
echo_info "Updating package list again..."
if sudo apt-get update > /dev/null 2>&1; then
echo_pass "Package list updated successfully."
else
echo_fail "Failed to update package list."
exit 1
fi
# Install Docker packages
echo_info "Installing Docker packages (docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin, docker-compose-plugin)..."
if sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin > /dev/null 2>&1; then
echo_pass "Docker packages installed successfully."
else
echo_fail "Failed to install Docker packages."
exit 1
fiDocker commands
Loads of useful Docker commands to help you get started with Docker and manage your containers and images effectively.
Docker templates
I've put together a collection of Docker Compose templates that I use for various projects. These are production-ready configurations that I've tested and refined over time.