Files
new_lottery_bot/DOCKER_INSTALL.md
Andrew K. Choi 0eabb1bc75 fix: автоопределение docker compose v1/v2 и проверка окружения
- Makefile автоматически находит docker compose или docker-compose
- Добавлена команда make docker-check для проверки окружения
- Создана документация DOCKER_INSTALL.md
- Обновлен DEPLOY_QUICKSTART.md с инструкцией по установке Docker
- Все docker команды теперь используют переменную DOCKER_COMPOSE

Исправляет ошибку: 'docker-compose: No such file or directory'
2025-11-17 15:34:06 +09:00

4.3 KiB
Raw Blame History

Установка Docker и Docker Compose

Для Ubuntu/Debian

Установка Docker

# Обновление системы
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

Настройка прав (опционально)

# Добавить пользователя в группу docker (чтобы не использовать sudo)
sudo usermod -aG docker $USER

# Применить изменения (нужно перелогиниться или выполнить)
newgrp docker

# Проверка
docker ps

Автозапуск Docker

sudo systemctl enable docker
sudo systemctl start docker

Для других систем

CentOS/RHEL/Fedora

# Установка 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

# Для 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

Проверка установки

# Версия 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):

# Удалите старую версию
sudo apt remove docker-compose

# Установите плагин compose
sudo apt install docker-compose-plugin

# Проверка
docker compose version

Troubleshooting

Ошибка: "Cannot connect to the Docker daemon"

# Запустите Docker
sudo systemctl start docker

# Проверьте статус
sudo systemctl status docker

Ошибка: "permission denied"

# Добавьте пользователя в группу docker
sudo usermod -aG docker $USER

# Перелогиньтесь или выполните
newgrp docker

Ошибка: "docker-compose: command not found" но Docker Compose установлен

Makefile автоматически определит правильную команду:

  • docker compose (v2, рекомендуется)
  • docker-compose (v1, устаревшая)

Полезные команды

# Информация о 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

sudo apt update
sudo apt upgrade docker-ce docker-ce-cli containerd.io docker-compose-plugin