- 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'
171 lines
4.3 KiB
Markdown
171 lines
4.3 KiB
Markdown
# Установка 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
|
||
```
|