# Установка Docker и Docker Compose ## Для Ubuntu/Debian ### Установка Docker ```bash # Обновление системы sudo apt update sudo apt upgrade -y # Установка зависимостей sudo apt install -y ca-certificates curl gnupg lsb-release # Добавление GPG ключа Docker sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg # Добавление репозитория Docker echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # Установка Docker Engine sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # Проверка установки docker --version docker compose version ``` ### Настройка прав (опционально) ```bash # Добавить пользователя в группу docker (чтобы не использовать sudo) sudo usermod -aG docker $USER # Применить изменения (нужно перелогиниться или выполнить) newgrp docker # Проверка docker ps ``` ### Автозапуск Docker ```bash sudo systemctl enable docker sudo systemctl start docker ``` ## Для других систем ### CentOS/RHEL/Fedora ```bash # Установка Docker sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin # Запуск sudo systemctl start docker sudo systemctl enable docker ``` ### Debian ```bash # Для Debian используйте те же команды что и для Ubuntu # Но в добавлении репозитория используйте: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` ## Проверка установки ```bash # Версия Docker docker --version # Должно вывести: Docker version 24.0.x или новее # Версия Docker Compose docker compose version # Должно вывести: Docker Compose version v2.x.x или новее # Тест Docker docker run hello-world ``` ## Если Docker Compose v1 (старая версия) Если у вас установлен `docker-compose` (v1) вместо `docker compose` (v2): ```bash # Удалите старую версию sudo apt remove docker-compose # Установите плагин compose sudo apt install docker-compose-plugin # Проверка docker compose version ``` ## Troubleshooting ### Ошибка: "Cannot connect to the Docker daemon" ```bash # Запустите Docker sudo systemctl start docker # Проверьте статус sudo systemctl status docker ``` ### Ошибка: "permission denied" ```bash # Добавьте пользователя в группу docker sudo usermod -aG docker $USER # Перелогиньтесь или выполните newgrp docker ``` ### Ошибка: "docker-compose: command not found" но Docker Compose установлен Makefile автоматически определит правильную команду: - `docker compose` (v2, рекомендуется) - `docker-compose` (v1, устаревшая) ## Полезные команды ```bash # Информация о Docker docker info # Список запущенных контейнеров docker ps # Список всех контейнеров docker ps -a # Список образов docker images # Очистка неиспользуемых ресурсов docker system prune -a # Логи контейнера docker logs container_name # Остановить все контейнеры docker stop $(docker ps -aq) # Удалить все контейнеры docker rm $(docker ps -aq) ``` ## Обновление Docker ```bash sudo apt update sudo apt upgrade docker-ce docker-ce-cli containerd.io docker-compose-plugin ```