Universal Docker Management Project
Автор: Сергей Антропов
Версия: 2.0
Сайт: https://devops.org.ru
📋 Описание проекта
Универсальный проект для автоматизации работы с Docker-образами. Включает в себя:
- Универсальный Dockerfile на базе Ubuntu 22.04 с предустановленными утилитами
- Мощный Makefile с полным набором команд для Docker и Git
- Подробную документацию на русском языке
- Готовые сценарии для оффлайн-деплоя
🚀 Быстрый старт
Предварительные требования
- Docker (версия 20.10+)
- Make (GNU Make 3.81+)
- Git (версия 2.0+)
Установка
- Клонируйте репозиторий:
git clone ssh://git@git.antropoff.ru:222/DevOpsTools/Dockerfile.git
cd Dockerfile
- Проверьте Makefile:
make help
- Проверьте Docker:
make docker print-config
📚 Документация
📦 Установка зависимостей
Подробные инструкции по установке Docker, Make и Git на различных операционных системах:
- Linux (Ubuntu/Debian, CentOS/RHEL/Fedora)
- macOS (Homebrew, Docker Desktop)
- Windows (WSL2, Git Bash)
- Устранение проблем установки
🐳 Dockerfile
Описание универсального Dockerfile и способы его использования:
- Особенности и структура
- Расширение и настройка
- Оптимизация и безопасность
- Примеры использования
⚙️ Makefile
Полное описание команд и переменных Makefile:
- Основные команды Docker и Git
- Подробное описание всех переменных
- Настройка и конфигурация
- Служебные функции
📖 Примеры использования
Практические примеры и сценарии использования:
- Базовая сборка и публикация
- Мультиплатформенная сборка
- Оффлайн деплой
- Работа с аргументами сборки
- Отладка и мониторинг
💡 Лучшие практики
Рекомендации по эффективному использованию:
- Управление версиями
- Безопасность
- Оптимизация сборки
- Мониторинг и логирование
- Организация проекта
🐛 Решение проблем
Диагностика и решение частых проблем:
- Частые ошибки и их решения
- Проблемы с памятью, сетью, правами доступа
- Диагностические команды
- Получение помощи
❓ FAQ
Ответы на часто задаваемые вопросы:
- Общие вопросы
- Вопросы по Docker, Makefile, Git
- Вопросы по производительности и безопасности
- Вопросы по отладке и конфигурации
🎯 Основные возможности
Docker команды
make docker build- сборка образов (двойные тегиTAG1/TAG2)make docker rebuild- пересборка без кэша (сTAG1/TAG2)make docker pull- скачивание/обновление образов поTAG1/TAG2make 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/ # Временные файлы для оффлайн операций
🚀 Быстрые команды
Основные операции
# Сборка образа
make docker build IMAGE=myapp TAG1=latest TAG2=v1.0.0
# Публикация образа
make docker push IMAGE=myapp TAG1=latest TAG2=v1.0.0
# Пересборка без кэша с двумя тегами
make docker rebuild IMAGE=myapp TAG1=latest TAG2=v1.0.0
# Скачать/обновить оба тега
make docker pull IMAGE=myapp TAG1=latest TAG2=v1.0.0 REGISTRY=hub.cism-ms.ru/library
# Проверка образа
make docker check RUN_CMD="lsb_release -a"
# Сохранение в архив
make docker save SRC_IMAGE=myapp:latest COMPRESS=1
Git операции
# Статус репозитория
make git status
# Коммит и push
make git push GIT_MSG="Обновление"
# Полная синхронизация
make git sync
🤝 Вклад в проект
- Форкните репозиторий
- Создайте ветку для новой функции (
git checkout -b feature/amazing-feature) - Зафиксируйте изменения (
git commit -m 'Add amazing feature') - Отправьте в ветку (
git push origin feature/amazing-feature) - Откройте Pull Request
📄 Лицензия
Этот проект распространяется под лицензией MIT. См. файл LICENSE для подробностей.
👨💻 Автор
Сергей Антропов
- Сайт: https://devops.org.ru
- Email: devops@devops.org.ru
🙏 Благодарности
- Сообществу Docker за отличные инструменты
- GNU Make за мощную систему сборки
- Ubuntu за стабильную базовую платформу
📞 Поддержка
Если у вас есть вопросы или предложения:
- Создайте Issue
- Напишите на email: devops@devops.org.ru
- Посетите сайт: https://devops.org.ru
⭐ Если проект был полезен, поставьте звезду!
Description
Этот Makefile предназначен для автоматизации сборки, проверки, публикации и архивирования Docker-образов. Подходит как для обычного Docker, так и для Buildx (мультиплатформенная сборка). Поддерживает офлайн-режим (работу без доступа к интернету) через .tar / .tar.gz архивы.
Languages
Makefile
100%