Переписана документация
This commit is contained in:
202
README.md
Normal file
202
README.md
Normal file
@@ -0,0 +1,202 @@
|
||||
# Universal Docker & Git Management Project
|
||||
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
[](https://www.docker.com/)
|
||||
[](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
|
||||
|
||||
---
|
||||
|
||||
**⭐ Если проект был полезен, поставьте звезду!**
|
||||
Reference in New Issue
Block a user