Как създадох перфектния Docker инсталационен скрипт за Ubuntu

Как създадох перфектния Docker инсталационен скрипт за Ubuntu

Днес ми остана малко свободно време и реших да подобря един от старите си скриптове за инсталиране на Docker в Ubuntu. Имам няколко сървъра, на които често трябва да инсталирам Docker, и всеки път преглеждам официалната документация, което отнема време. Затова реших да създам универсален, стабилен и напълно автоматизиран скрипт, който да прави всичко вместо мен.

Защо го направих?

Официалната документация на Docker предоставя ясни инструкции, но:

  • Изисква ръчно копиране на команди
  • Няма проверки за грешки
  • Не поддържа лесно инсталиране на конкретни версии
  • Не се справя добре с вече инсталирани стари версии

Моят скрипт решава всички тези проблеми.

Какво прави скриптът?

  1. Автоматично открива версията на Ubuntu
    • Работи както с lsb_release, така и с /etc/os-release за максимална съвместимост.
  2. Премахва стари версии на Docker
    • Ако има остатъчни пакети, скриптът ги чисти преди новата инсталация.
  3. Поддържа стабилен и test канал
    • Може да изберете --channel stable (по подразбиране) или --channel test.
  4. Инсталира конкретни версии
    • Пример: sudo ./install-docker.sh --version 24.0
  5. Добавя потребителя в docker групата
    • Няма нужда да го правите ръчно след инсталацията.
  6. Проверява успешността на инсталацията
    • Пуска hello-world контейнер, за да се увери, че всичко работи.
  7. Показва полезни команди
    • След инсталацията извежда списък с често използвани Docker команди.

Как да го използвате?

1. Сваляне на скрипта:

curl -O https://gist.githubusercontent.com/fantomas4o/319a06f824b1c140b9d7de6f134757c5/raw/598b2532dcf2f903d598c766fd90291ec244b664/install-docker.sh

Или:

curl -O https://gist.fedia.eu/urocibg/dc32b55ef36643c8af98a44ef8dd7569/raw/HEAD/install-docker.sh

Даваме права за изпълнение:

chmod +x install-docker.sh

2. Стандартна инсталация (най-новата стабилна версия):

sudo ./install-docker.sh

3. Инсталация на конкретна версия:

sudo ./install-docker.sh --version 24.0

4. Инсталация от test канал (за early access версии):

sudo ./install-docker.sh --channel test

Как работи под капака?

Скриптът използва няколко ключови техники:

  • set -e – Ако някоя команда се провали, скриптът спира веднага.
  • Проверки за root права и Ubuntu – Не работи под Windows или без sudo.
  • Оптимизирани APT операции – Използва -qq за по-чист изход.
  • Интелигентно обработване на версии – Ако желаната версия не съществува, показва наличните.

Защо да го използвате вместо официалните инструкции?

✔ По-бързо – Няма нужда да копирате множество команди.
✔ По-надеждно – Проверки за грешки на всяка стъпка.
✔ По-гъвкаво – Поддържа конкретни версии и канали.
✔ По-удобно – Автоматично добавя потребителя в docker групата.

Заключение

Ако често работите с Ubuntu и Docker, този скрипт ще ви спести време и главоболия. Можете да го запазите в ~/bin/ или дори да го разпространите в рамките на вашия екип.

🔗 Скриптът е достъпен в GitHub Gist

Федя Серафиев

Федя Серафиев

Федя Серафиев e собственик на уебсайта urocibg.eu. Той намира удовлетворение в това да помага на хората да решават и най-сложните технически проблеми. Сегашната му цел е да пише лесни за следване статии, така че подобни проблеми изобщо да не възникват.

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу: