| #!/usr/bin/env bash |
| set -e |
|
|
| echo "=======================================" |
| echo " Installing Docker Engine" |
| echo "=======================================" |
|
|
| apt-get update |
|
|
| apt-get install -y \ |
| ca-certificates \ |
| curl \ |
| gnupg \ |
| lsb-release |
|
|
| install -m 0755 -d /etc/apt/keyrings |
|
|
| if [ ! -f /etc/apt/keyrings/docker.asc ]; then |
| curl -fsSL https://download.docker.com/linux/ubuntu/gpg \ |
| -o /etc/apt/keyrings/docker.asc |
| fi |
|
|
| chmod a+r /etc/apt/keyrings/docker.asc |
|
|
| ARCH=$(dpkg --print-architecture) |
| CODENAME=$( . /etc/os-release && echo "$VERSION_CODENAME") |
|
|
| echo \ |
| "deb [arch=${ARCH} signed-by=/etc/apt/keyrings/docker.asc] \ |
| https://download.docker.com/linux/ubuntu ${CODENAME} stable" \ |
| > /etc/apt/sources.list.d/docker.list |
|
|
| apt-get update |
|
|
| apt-get install -y \ |
| docker-ce \ |
| docker-ce-cli \ |
| containerd.io \ |
| docker-buildx-plugin \ |
| docker-compose-plugin |
|
|
| systemctl enable docker || true |
| systemctl start docker || true |
|
|
| echo |
| echo "Docker Version:" |
| docker --version |
|
|
| echo |
| echo "Docker Compose Version:" |
| docker compose version |
|
|
| echo |
| echo "Testing Docker..." |
| docker run hello-world || true |
|
|
| echo |
| echo "=======================================" |
| echo " Docker installation complete!" |
| echo "=======================================" |
|
|