feat: Добавлены команды для установки и обновления Docker
- Добавлена команда make docker-install для установки Docker через get.docker.com - Добавлена команда make docker-update для обновления Docker - Добавлена команда make docker-compose-install для установки Docker Compose - Добавлена команда make docker-compose-update для обновления Docker Compose - Добавлена команда make docker-check для проверки версий и статуса - Обновлена документация с инструкциями по установке Docker - Все команды включают проверки существования и информативные сообщения - Поддержка как docker-compose, так и docker compose (новый формат) Автор: Сергей Антропов, сайт: https://devops.org.ru
This commit is contained in:
parent
db957f9890
commit
95c7bc6432
84
Makefile
84
Makefile
@ -8,6 +8,7 @@ COMPOSE_FILE := docker-compose.yml
|
|||||||
.PHONY: help setup up down restart status logs clean
|
.PHONY: help setup up down restart status logs clean
|
||||||
.PHONY: kafka-topics kafka-ui postgres-cli clickhouse-cli
|
.PHONY: kafka-topics kafka-ui postgres-cli clickhouse-cli
|
||||||
.PHONY: health-check backup restore ssl-generate ssl-clean ssl-info
|
.PHONY: health-check backup restore ssl-generate ssl-clean ssl-info
|
||||||
|
.PHONY: docker-install docker-update docker-compose-install docker-compose-update docker-check
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# ОСНОВНЫЕ КОМАНДЫ
|
# ОСНОВНЫЕ КОМАНДЫ
|
||||||
@ -39,6 +40,89 @@ setup: ## Первоначальная настройка инфраструкт
|
|||||||
@$(MAKE) health-check
|
@$(MAKE) health-check
|
||||||
@echo "✅ Инфраструктура готова к работе!"
|
@echo "✅ Инфраструктура готова к работе!"
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# УСТАНОВКА И ОБНОВЛЕНИЕ DOCKER
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
docker-install: ## Установить Docker через get.docker.com
|
||||||
|
@echo "🐳 Установка Docker..."
|
||||||
|
@if command -v docker >/dev/null 2>&1; then \
|
||||||
|
echo "⚠️ Docker уже установлен. Используйте 'make docker-update' для обновления."; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
@echo "📥 Загрузка и установка Docker..."
|
||||||
|
@curl -fsSL https://get.docker.com -o get-docker.sh
|
||||||
|
@sudo sh get-docker.sh
|
||||||
|
@rm get-docker.sh
|
||||||
|
@echo "🔧 Добавление пользователя в группу docker..."
|
||||||
|
@sudo usermod -aG docker $$USER
|
||||||
|
@echo "✅ Docker установлен успешно!"
|
||||||
|
@echo "💡 Перезайдите в систему или выполните 'newgrp docker' для применения изменений группы"
|
||||||
|
|
||||||
|
docker-update: ## Обновить Docker до последней версии
|
||||||
|
@echo "🔄 Обновление Docker..."
|
||||||
|
@if ! command -v docker >/dev/null 2>&1; then \
|
||||||
|
echo "❌ Docker не установлен. Используйте 'make docker-install' для установки."; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
@echo "📥 Загрузка и установка последней версии Docker..."
|
||||||
|
@curl -fsSL https://get.docker.com -o get-docker.sh
|
||||||
|
@sudo sh get-docker.sh
|
||||||
|
@rm get-docker.sh
|
||||||
|
@echo "✅ Docker обновлен успешно!"
|
||||||
|
|
||||||
|
docker-compose-install: ## Установить Docker Compose
|
||||||
|
@echo "🐳 Установка Docker Compose..."
|
||||||
|
@if command -v docker-compose >/dev/null 2>&1 || docker compose version >/dev/null 2>&1; then \
|
||||||
|
echo "⚠️ Docker Compose уже установлен. Используйте 'make docker-compose-update' для обновления."; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
@echo "📥 Загрузка Docker Compose..."
|
||||||
|
@sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$$(uname -s)-$$(uname -m)" -o /usr/local/bin/docker-compose
|
||||||
|
@sudo chmod +x /usr/local/bin/docker-compose
|
||||||
|
@echo "✅ Docker Compose установлен успешно!"
|
||||||
|
|
||||||
|
docker-compose-update: ## Обновить Docker Compose до последней версии
|
||||||
|
@echo "🔄 Обновление Docker Compose..."
|
||||||
|
@if ! command -v docker-compose >/dev/null 2>&1 && ! docker compose version >/dev/null 2>&1; then \
|
||||||
|
echo "❌ Docker Compose не установлен. Используйте 'make docker-compose-install' для установки."; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
@echo "📥 Загрузка последней версии Docker Compose..."
|
||||||
|
@sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$$(uname -s)-$$(uname -m)" -o /usr/local/bin/docker-compose
|
||||||
|
@sudo chmod +x /usr/local/bin/docker-compose
|
||||||
|
@echo "✅ Docker Compose обновлен успешно!"
|
||||||
|
|
||||||
|
docker-check: ## Проверить версии Docker и Docker Compose
|
||||||
|
@echo "🔍 Проверка версий Docker и Docker Compose..."
|
||||||
|
@echo ""
|
||||||
|
@echo "🐳 Docker:"
|
||||||
|
@if command -v docker >/dev/null 2>&1; then \
|
||||||
|
docker --version; \
|
||||||
|
else \
|
||||||
|
echo "❌ Docker не установлен"; \
|
||||||
|
fi
|
||||||
|
@echo ""
|
||||||
|
@echo "🐳 Docker Compose:"
|
||||||
|
@if command -v docker-compose >/dev/null 2>&1; then \
|
||||||
|
docker-compose --version; \
|
||||||
|
elif docker compose version >/dev/null 2>&1; then \
|
||||||
|
docker compose version; \
|
||||||
|
else \
|
||||||
|
echo "❌ Docker Compose не установлен"; \
|
||||||
|
fi
|
||||||
|
@echo ""
|
||||||
|
@echo "🔧 Docker Engine статус:"
|
||||||
|
@if command -v docker >/dev/null 2>&1; then \
|
||||||
|
if docker info >/dev/null 2>&1; then \
|
||||||
|
echo "✅ Docker Engine запущен"; \
|
||||||
|
else \
|
||||||
|
echo "❌ Docker Engine не запущен"; \
|
||||||
|
fi; \
|
||||||
|
else \
|
||||||
|
echo "❌ Docker не установлен"; \
|
||||||
|
fi
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# УПРАВЛЕНИЕ ИНФРАСТРУКТУРОЙ
|
# УПРАВЛЕНИЕ ИНФРАСТРУКТУРОЙ
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
72
README.md
72
README.md
@ -62,6 +62,11 @@ SensusInfra — это полная инфраструктура для рабо
|
|||||||
# Клонируйте репозиторий и перейдите в директорию
|
# Клонируйте репозиторий и перейдите в директорию
|
||||||
cd SensusInfra
|
cd SensusInfra
|
||||||
|
|
||||||
|
# Установите Docker и Docker Compose (если не установлены)
|
||||||
|
make docker-check # Проверить текущие версии
|
||||||
|
make docker-install # Установить Docker
|
||||||
|
make docker-compose-install # Установить Docker Compose
|
||||||
|
|
||||||
# Файл .env будет создан автоматически при выполнении make setup
|
# Файл .env будет создан автоматически при выполнении make setup
|
||||||
# Или создайте вручную:
|
# Или создайте вручную:
|
||||||
cp env.example .env
|
cp env.example .env
|
||||||
@ -106,6 +111,16 @@ make logs # Логи всех сервисов
|
|||||||
| `make logs` | Показать логи всех сервисов |
|
| `make logs` | Показать логи всех сервисов |
|
||||||
| `make health-check` | Проверить здоровье сервисов |
|
| `make health-check` | Проверить здоровье сервисов |
|
||||||
|
|
||||||
|
### Установка и обновление Docker
|
||||||
|
|
||||||
|
| Команда | Описание |
|
||||||
|
|---------|----------|
|
||||||
|
| `make docker-install` | Установить Docker через get.docker.com |
|
||||||
|
| `make docker-update` | Обновить Docker до последней версии |
|
||||||
|
| `make docker-compose-install` | Установить Docker Compose |
|
||||||
|
| `make docker-compose-update` | Обновить Docker Compose до последней версии |
|
||||||
|
| `make docker-check` | Проверить версии Docker и Docker Compose |
|
||||||
|
|
||||||
### Работа с базами данных
|
### Работа с базами данных
|
||||||
|
|
||||||
| Команда | Описание |
|
| Команда | Описание |
|
||||||
@ -125,6 +140,63 @@ make logs # Логи всех сервисов
|
|||||||
| `make ssl-clean` | Очистка SSL сертификатов |
|
| `make ssl-clean` | Очистка SSL сертификатов |
|
||||||
| `make ssl-info` | Информация о SSL сертификатах |
|
| `make ssl-info` | Информация о SSL сертификатах |
|
||||||
|
|
||||||
|
## Установка Docker
|
||||||
|
|
||||||
|
### Автоматическая установка
|
||||||
|
|
||||||
|
Проект включает команды для автоматической установки и обновления Docker:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Проверить текущие версии
|
||||||
|
make docker-check
|
||||||
|
|
||||||
|
# Установить Docker (если не установлен)
|
||||||
|
make docker-install
|
||||||
|
|
||||||
|
# Установить Docker Compose (если не установлен)
|
||||||
|
make docker-compose-install
|
||||||
|
|
||||||
|
# Обновить Docker до последней версии
|
||||||
|
make docker-update
|
||||||
|
|
||||||
|
# Обновить Docker Compose до последней версии
|
||||||
|
make docker-compose-update
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ручная установка
|
||||||
|
|
||||||
|
Если автоматическая установка не работает, используйте официальные инструкции:
|
||||||
|
|
||||||
|
#### Docker
|
||||||
|
```bash
|
||||||
|
# Ubuntu/Debian
|
||||||
|
curl -fsSL https://get.docker.com -o get-docker.sh
|
||||||
|
sudo sh get-docker.sh
|
||||||
|
|
||||||
|
# CentOS/RHEL
|
||||||
|
sudo yum install -y docker
|
||||||
|
sudo systemctl start docker
|
||||||
|
sudo systemctl enable docker
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Docker Compose
|
||||||
|
```bash
|
||||||
|
# Скачать последнюю версию
|
||||||
|
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||||
|
sudo chmod +x /usr/local/bin/docker-compose
|
||||||
|
```
|
||||||
|
|
||||||
|
### Проверка установки
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Проверить версии
|
||||||
|
make docker-check
|
||||||
|
|
||||||
|
# Или вручную
|
||||||
|
docker --version
|
||||||
|
docker compose version
|
||||||
|
```
|
||||||
|
|
||||||
### Обслуживание
|
### Обслуживание
|
||||||
|
|
||||||
| Команда | Описание |
|
| Команда | Описание |
|
||||||
|
Loading…
x
Reference in New Issue
Block a user