Переписана документация

This commit is contained in:
Сергей Антропов
2025-10-29 14:47:35 +03:00
parent e466f14d49
commit e4e23b88ca
10 changed files with 2528 additions and 403 deletions

202
README.md Normal file
View File

@@ -0,0 +1,202 @@
# Universal Docker & Git Management Project
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Docker](https://img.shields.io/badge/Docker-Universal-blue.svg)](https://www.docker.com/)
[![Make](https://img.shields.io/badge/Make-Universal-green.svg)](https://www.gnu.org/software/make/)
**Автор:** Сергей Антропов
**Версия:** 2.0
**Сайт:** https://devops.org.ru
## 📋 Описание проекта
Универсальный проект для автоматизации работы с Docker-образами и Git-репозиториями. Включает в себя:
- **Универсальный Dockerfile** на базе Ubuntu 22.04 с предустановленными утилитами
- **Мощный Makefile** с полным набором команд для Docker и Git
- **Подробную документацию** на русском языке
- **Готовые сценарии** для оффлайн-деплоя
## 🚀 Быстрый старт
### Предварительные требования
- Docker (версия 20.10+)
- Make (GNU Make 3.81+)
- Git (версия 2.0+)
### Установка
1. **Клонируйте репозиторий:**
```bash
git clone <repository-url>
cd Dockerfile
```
2. **Проверьте Makefile:**
```bash
make help
```
3. **Проверьте Docker:**
```bash
make docker print-config
```
## 📚 Документация
### 📦 [Установка зависимостей](docs/installation.md)
Подробные инструкции по установке Docker, Make и Git на различных операционных системах:
- Linux (Ubuntu/Debian, CentOS/RHEL/Fedora)
- macOS (Homebrew, Docker Desktop)
- Windows (WSL2, Git Bash)
- Устранение проблем установки
### 🐳 [Dockerfile](docs/dockerfile.md)
Описание универсального Dockerfile и способы его использования:
- Особенности и структура
- Расширение и настройка
- Оптимизация и безопасность
- Примеры использования
### ⚙️ [Makefile](docs/makefile.md)
Полное описание команд и переменных Makefile:
- Основные команды Docker и Git
- Подробное описание всех переменных
- Настройка и конфигурация
- Служебные функции
### 📖 [Примеры использования](docs/examples.md)
Практические примеры и сценарии использования:
- Базовая сборка и публикация
- Мультиплатформенная сборка
- Оффлайн деплой
- Работа с аргументами сборки
- Отладка и мониторинг
### 💡 [Лучшие практики](docs/best-practices.md)
Рекомендации по эффективному использованию:
- Управление версиями
- Безопасность
- Оптимизация сборки
- Мониторинг и логирование
- Организация проекта
### 🐛 [Решение проблем](docs/troubleshooting.md)
Диагностика и решение частых проблем:
- Частые ошибки и их решения
- Проблемы с памятью, сетью, правами доступа
- Диагностические команды
- Получение помощи
### ❓ [FAQ](docs/faq.md)
Ответы на часто задаваемые вопросы:
- Общие вопросы
- Вопросы по Docker, Makefile, Git
- Вопросы по производительности и безопасности
- Вопросы по отладке и конфигурации
## 🎯 Основные возможности
### Docker команды
- `make docker build` - сборка образов
- `make docker push` - публикация в registry
- `make docker save/load` - работа с архивами
- `make docker check` - проверка образов
### Git команды
- `make git status` - статус репозитория
- `make git commit` - создание коммитов
- `make git push` - отправка изменений
- `make git sync` - полная синхронизация
### Дополнительные возможности
- Мультиплатформенная сборка (buildx)
- Оффлайн деплой с архивами
- Подробное логирование
- Гибкая конфигурация
## 📁 Структура проекта
```
Dockerfile/
├── dockerfile # Универсальный Dockerfile
├── makefile # Makefile с командами Docker и Git
├── README.md # Главная документация
├── docs/ # Подробная документация
│ ├── installation.md
│ ├── dockerfile.md
│ ├── makefile.md
│ ├── examples.md
│ ├── best-practices.md
│ ├── troubleshooting.md
│ └── faq.md
├── logs/ # Директория логов (создается автоматически)
├── images/ # Директория архивов образов
└── .offline/ # Временные файлы для оффлайн операций
```
## 🚀 Быстрые команды
### Основные операции
```bash
# Сборка образа
make docker build IMAGE=myapp TAG=v1.0.0
# Публикация образа
make docker push IMAGE=myapp TAG=v1.0.0
# Проверка образа
make docker check RUN_CMD="lsb_release -a"
# Сохранение в архив
make docker save SRC_IMAGE=myapp:latest COMPRESS=1
```
### Git операции
```bash
# Статус репозитория
make git status
# Коммит и push
make git push GIT_MSG="Обновление"
# Полная синхронизация
make git sync
```
## 🤝 Вклад в проект
1. Форкните репозиторий
2. Создайте ветку для новой функции (`git checkout -b feature/amazing-feature`)
3. Зафиксируйте изменения (`git commit -m 'Add amazing feature'`)
4. Отправьте в ветку (`git push origin feature/amazing-feature`)
5. Откройте Pull Request
## 📄 Лицензия
Этот проект распространяется под лицензией MIT. См. файл [LICENSE](LICENSE) для подробностей.
## 👨‍💻 Автор
**Сергей Антропов**
- Сайт: https://devops.org.ru
- Email: devops@devops.org.ru
## 🙏 Благодарности
- Сообществу Docker за отличные инструменты
- GNU Make за мощную систему сборки
- Ubuntu за стабильную базовую платформу
## 📞 Поддержка
Если у вас есть вопросы или предложения:
1. Создайте [Issue](https://github.com/your-repo/issues)
2. Напишите на email: devops@devops.org.ru
3. Посетите сайт: https://devops.org.ru
---
**⭐ Если проект был полезен, поставьте звезду!**