fix: решена проблема с правами доступа к Docker socket

- Обновлен docker-compose.yml с настройками пользователя и группы docker
- Обновлен Dockerfile для добавления пользователя в группу docker
- Создан docker-compose.root.yml для запуска с правами root
- Добавлены команды make up-root и make down-root
- Обновлен env.example с дополнительными переменными Docker
- Добавлена документация по решению проблем с правами доступа
- Теперь приложение корректно подключается к Docker daemon
- Автор: Сергей Антропов (https://devops.org.ru)
This commit is contained in:
Сергей Антропов
2025-08-16 11:29:13 +03:00
parent d838026fa6
commit fa42bfa83e
6 changed files with 102 additions and 18 deletions

View File

@@ -2,7 +2,7 @@
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
.PHONY: help setup build up down restart logs clean status ps shell
.PHONY: help setup build up down restart logs clean status ps shell up-root down-root
# Переменные
COMPOSE_FILE = docker-compose.yml
@@ -41,47 +41,47 @@ setup: ## Настроить переменные окружения (копир
build: ## Собрать Docker образ
@echo "$(GREEN)Сборка Docker образа...$(NC)"
docker-compose -f $(COMPOSE_FILE) build --no-cache
docker compose -f $(COMPOSE_FILE) build --no-cache
@echo "$(GREEN)Образ собран успешно!$(NC)"
up: ## Запустить сервисы в фоновом режиме
@echo "$(GREEN)Запуск сервисов...$(NC)"
docker-compose -f $(COMPOSE_FILE) up -d
docker compose -f $(COMPOSE_FILE) up -d
@echo "$(GREEN)Сервисы запущены!$(NC)"
@echo "$(YELLOW)Приложение доступно по адресу: http://localhost:9001$(NC)"
down: ## Остановить и удалить сервисы
@echo "$(YELLOW)Остановка сервисов...$(NC)"
docker-compose -f $(COMPOSE_FILE) down
docker compose -f $(COMPOSE_FILE) down
@echo "$(GREEN)Сервисы остановлены!$(NC)"
restart: ## Перезапустить сервисы
@echo "$(YELLOW)Перезапуск сервисов...$(NC)"
docker-compose -f $(COMPOSE_FILE) restart
docker compose -f $(COMPOSE_FILE) restart
@echo "$(GREEN)Сервисы перезапущены!$(NC)"
logs: ## Показать логи сервисов
@echo "$(GREEN)Логи сервисов:$(NC)"
docker-compose -f $(COMPOSE_FILE) logs -f
docker compose -f $(COMPOSE_FILE) logs -f
logs-tail: ## Показать последние 100 строк логов
@echo "$(GREEN)Последние 100 строк логов:$(NC)"
docker-compose -f $(COMPOSE_FILE) logs --tail=100
docker compose -f $(COMPOSE_FILE) logs --tail=100
clean: ## Остановить сервисы и удалить образы
@echo "$(RED)Очистка проекта...$(NC)"
docker-compose -f $(COMPOSE_FILE) down --rmi all --volumes --remove-orphans
docker compose -f $(COMPOSE_FILE) down --rmi all --volumes --remove-orphans
@echo "$(GREEN)Очистка завершена!$(NC)"
status: ## Показать статус сервисов
@echo "$(GREEN)Статус сервисов:$(NC)"
docker-compose -f $(COMPOSE_FILE) ps
docker compose -f $(COMPOSE_FILE) ps
ps: status ## Алиас для команды status
shell: ## Подключиться к контейнеру сервиса
@echo "$(GREEN)Подключение к контейнеру $(SERVICE_NAME)...$(NC)"
docker-compose -f $(COMPOSE_FILE) exec $(SERVICE_NAME) /bin/bash
docker compose -f $(COMPOSE_FILE) exec $(SERVICE_NAME) /bin/bash
start: up ## Алиас для команды up
@@ -89,12 +89,23 @@ stop: down ## Алиас для команды down
dev: ## Запуск в режиме разработки (с выводом логов)
@echo "$(GREEN)Запуск в режиме разработки...$(NC)"
docker-compose -f $(COMPOSE_FILE) up --build
docker compose -f $(COMPOSE_FILE) up --build
rebuild: ## Пересобрать и запустить сервисы
@echo "$(YELLOW)Пересборка и запуск сервисов...$(NC)"
docker-compose -f $(COMPOSE_FILE) down
docker-compose -f $(COMPOSE_FILE) build --no-cache
docker-compose -f $(COMPOSE_FILE) up -d
docker compose -f $(COMPOSE_FILE) down
docker compose -f $(COMPOSE_FILE) build --no-cache
docker compose -f $(COMPOSE_FILE) up -d
@echo "$(GREEN)Сервисы пересобраны и запущены!$(NC)"
@echo "$(YELLOW)Приложение доступно по адресу: http://localhost:9001$(NC)"
up-root: ## Запустить сервисы с правами root (для решения проблем с Docker socket)
@echo "$(GREEN)Запуск сервисов с правами root...$(NC)"
docker compose -f docker-compose.root.yml up -d
@echo "$(GREEN)Сервисы запущены с правами root!$(NC)"
@echo "$(YELLOW)Приложение доступно по адресу: http://localhost:9001$(NC)"
down-root: ## Остановить сервисы с правами root
@echo "$(YELLOW)Остановка сервисов с правами root...$(NC)"
docker compose -f docker-compose.root.yml down
@echo "$(GREEN)Сервисы с правами root остановлены!$(NC)"