Files
Dockerfile/README.md
2025-10-29 14:47:35 +03:00

202 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
---
**⭐ Если проект был полезен, поставьте звезду!**