В этом руководстве мы разберем Bash-скрипт, который автоматизирует процесс установки Docker на дистрибутиве Ubuntu 24.04 LTS.
Проверка прав доступа
Для начала проверим, запущен ли скрипт с правами суперпользователя:
if [ "$(id -u)" != "0" ]; then
echo -e "\033[31mThis script requires superuser rights.\033[0m"
exit 0
fi
id -u
возвращает идентификатор текущего пользователя.0
соответствует пользователюroot
.- Если текущий пользователь не
root
, скрипт выводит сообщение об ошибке и завершает выполнение.
Настройка обработки ошибок
trap 'echo -e "\033[31minit-docker.sh: Something went wrong\033[0m"; exit 1' ERR
set -e
Здесь используется команда trap
, чтобы установить обработчик ошибок, который будет активироваться при любой ошибке выполнения команд (ERR
).
trap
позволяет выполнить специальные команды при возникновении ошибок.set -e
завершает скрипт при возникновении любой ошибки, делая скрипт более устойчивым.
Отключение интерактивного режима
export DEBIAN_FRONTEND=noninteractive
Переменная окружения DEBIAN_FRONTEND
устанавливается в значение noninteractive
, чтобы установка не требовала пользовательского ввода. Это полезно для автоматического скрипта, при запуске которого не будет возможности взаимодействия с пользователем.
Установка зависимостей и Docker
Этот код отвечает за установку необходимых пакетов и самого Docker:
apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg
add-apt-repository -y "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
apt-get update -y
apt-get install -y docker-ce
- Установка зависимостей:
apt-transport-https
— поддержка HTTPS для репозиториев.ca-certificates
— работа с сертификатами SSL.curl
— для получения данных из URL.software-properties-common
— добавление новых репозиториев.
- Импорт GPG-ключа Docker: скачивается ключ GPG и добавляется в систему, что необходимо для проверки пакетов Docker.
- Добавляется репозиторий Docker для Ubuntu.
- Обновляется список пакетов APT и устанавливается Docker CE (Community Edition).
Создание сети Docker
После успешной установки Docker создается сеть Docker proxynet
. Это может быть полезно для изоляции контейнеров и обеспечения внутренней связи:
echo "Creating docker network proxynet..."
docker network create proxynet
Завершение
В завершении, снимаем обработчик ошибок и выводим сообщение о том, что Docker успешно установлен:
trap - ERR
echo "Docker installed"
Полный код скрипта:
#!/bin/bash
if [ "$(id -u)" != "0" ]; then
echo -e "\033[31mThis script requires superuser rights.\033[0m"
exit 0
fi
trap 'echo -e "\033[31minit-docker.sh: Something went wrong\033[0m"; exit 1' ERR
set -e
export DEBIAN_FRONTEND=noninteractive
apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg
add-apt-repository -y "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
apt-get update -y
apt-get install -y docker-ce
echo "Creating docker network proxynet..."
docker network create proxynet
trap - ERR
echo "Docker installed"
Используя данный скрипт, вы легко установите Docker без необходимости вручную проходить каждый из этапов.
Данный скрипт является частью нашего репозитория utils
Если вам интересен наш проект, есть вопросы, замечания, или предложения — оставляйте комментарии или пишите на почту: checkerwars@mail.ru
Кроме того, автор проекта ищет работу. Мое резюме.