Add docker-install.sh
This commit is contained in:
61
docker-install.sh
Normal file
61
docker-install.sh
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
echo "==> Removing conflicting Docker/container packages..."
|
||||
|
||||
sudo apt remove -y \
|
||||
docker.io \
|
||||
docker-compose \
|
||||
docker-compose-v2 \
|
||||
docker-doc \
|
||||
docker-buildx \
|
||||
podman-docker \
|
||||
containerd \
|
||||
runc
|
||||
|
||||
echo "==> Updating package lists..."
|
||||
sudo apt update
|
||||
|
||||
echo "==> Installing prerequisites..."
|
||||
sudo apt install -y ca-certificates curl
|
||||
|
||||
echo "==> Installing Docker's official GPG key..."
|
||||
sudo install -m 0755 -d /etc/apt/keyrings
|
||||
sudo curl -fsSL \
|
||||
https://download.docker.com/linux/ubuntu/gpg \
|
||||
-o /etc/apt/keyrings/docker.asc
|
||||
sudo chmod a+r /etc/apt/keyrings/docker.asc
|
||||
|
||||
echo "==> Adding Docker's official repository..."
|
||||
sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
|
||||
Types: deb
|
||||
URIs: https://download.docker.com/linux/ubuntu
|
||||
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
|
||||
Components: stable
|
||||
Architectures: $(dpkg --print-architecture)
|
||||
Signed-By: /etc/apt/keyrings/docker.asc
|
||||
EOF
|
||||
|
||||
echo "==> Updating package lists with Docker repository..."
|
||||
sudo apt update
|
||||
|
||||
echo "==> Installing Docker Engine and Compose..."
|
||||
sudo apt install -y \
|
||||
docker-ce \
|
||||
docker-ce-cli \
|
||||
containerd.io \
|
||||
docker-buildx-plugin \
|
||||
docker-compose-plugin
|
||||
|
||||
echo "==> Enabling and starting Docker..."
|
||||
sudo systemctl enable --now docker
|
||||
|
||||
echo "==> Testing Docker installation..."
|
||||
sudo docker run --rm hello-world
|
||||
|
||||
echo
|
||||
echo "========================================"
|
||||
echo " Docker installation completed!"
|
||||
echo "========================================"
|
||||
docker --version
|
||||
docker compose version
|
||||
Reference in New Issue
Block a user