Последняя активность 1747730508

lsemenenko's Avatar lsemenenko ревизий этого фрагмента 1747730508. К ревизии

1 file changed, 3 insertions, 4 deletions

install_docker.sh

@@ -27,10 +27,9 @@ if [[ ! -f /usr/share/keyrings/docker-archive-keyring.gpg ]]; then
27 27 | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
28 28 fi
29 29
30 - lsb_release -cs | read -r codename
31 - echo \
32 - "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
33 - https://download.docker.com/linux/ubuntu ${codename} stable" \
30 + codename="$(lsb_release -cs)"
31 + echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
32 + https://download.docker.com/linux/ubuntu ${codename} stable" \
34 33 > /etc/apt/sources.list.d/docker.list
35 34
36 35 retry "apt-get update -y" "apt-get update (Docker repo)"

lsemenenko's Avatar lsemenenko ревизий этого фрагмента 1747730318. К ревизии

1 file changed, 47 insertions

install_docker.sh(файл создан)

@@ -0,0 +1,47 @@
1 + #!/usr/bin/env bash
2 + set -euo pipefail
3 +
4 + export DEBIAN_FRONTEND=noninteractive
5 +
6 + # -------- helpers --------
7 + retry() {
8 + local cmd="$1"
9 + local what="$2"
10 + until eval "$cmd"; do
11 + echo "$what failed, retrying in 5 seconds…"
12 + sleep 5
13 + done
14 + }
15 +
16 + # -------- remove any old Docker bits --------
17 + retry "apt-get remove -y docker.io docker-doc docker-compose containerd runc || true" "apt-get remove"
18 +
19 + # -------- base package refresh --------
20 + retry "apt-get update -y" "apt-get update"
21 + retry "apt-get install -y apt-transport-https ca-certificates curl software-properties-common" \
22 + "install prerequisites"
23 +
24 + # -------- add Docker repo & key --------
25 + if [[ ! -f /usr/share/keyrings/docker-archive-keyring.gpg ]]; then
26 + curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
27 + | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
28 + fi
29 +
30 + lsb_release -cs | read -r codename
31 + echo \
32 + "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
33 + https://download.docker.com/linux/ubuntu ${codename} stable" \
34 + > /etc/apt/sources.list.d/docker.list
35 +
36 + retry "apt-get update -y" "apt-get update (Docker repo)"
37 +
38 + # -------- install Docker engine & plugins --------
39 + retry "apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin" \
40 + "install Docker"
41 +
42 + # -------- enable & start --------
43 + systemctl enable --now docker
44 +
45 + # -------- quick validation --------
46 + docker run --rm hello-world
47 + echo "✅ Docker installed and working."
Новее Позже