Add docker-compose compatibility script for production server
- Script creates symlink or wrapper for docker-compose command - Automatically detects Docker Compose v2 plugin location - Fallback to wrapper script if plugin not found - Helps maintain compatibility with existing deployment scripts
This commit is contained in:
59
bin/setup-docker-compose-compatibility.sh
Normal file
59
bin/setup-docker-compose-compatibility.sh
Normal file
@@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Скрипт для настройки совместимости docker-compose с Docker Compose v2
|
||||
# Запускать на продакшн сервере с правами sudo
|
||||
|
||||
echo "🐳 Setting up docker-compose compatibility..."
|
||||
|
||||
# Проверяем, есть ли уже docker-compose
|
||||
if command -v docker-compose >/dev/null 2>&1; then
|
||||
echo "✅ docker-compose уже доступен:"
|
||||
docker-compose --version
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Проверяем наличие docker compose v2
|
||||
if ! docker compose version >/dev/null 2>&1; then
|
||||
echo "❌ Docker Compose v2 не найден. Установите Docker сначала."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "📦 Docker Compose v2 обнаружен:"
|
||||
docker compose version
|
||||
|
||||
# Пытаемся найти путь к docker-compose plugin
|
||||
COMPOSE_PLUGIN_PATH=""
|
||||
for path in "/usr/libexec/docker/cli-plugins/docker-compose" "/usr/local/lib/docker/cli-plugins/docker-compose" "/opt/docker/cli-plugins/docker-compose"; do
|
||||
if [ -f "$path" ]; then
|
||||
COMPOSE_PLUGIN_PATH="$path"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Если найден plugin, создаем symlink
|
||||
if [ -n "$COMPOSE_PLUGIN_PATH" ]; then
|
||||
echo "🔗 Создаем symlink из $COMPOSE_PLUGIN_PATH"
|
||||
sudo ln -sf "$COMPOSE_PLUGIN_PATH" /usr/local/bin/docker-compose
|
||||
else
|
||||
# Создаем wrapper скрипт
|
||||
echo "📝 Создаем wrapper скрипт..."
|
||||
sudo tee /usr/local/bin/docker-compose > /dev/null << 'EOF'
|
||||
#!/bin/bash
|
||||
# Docker Compose v1 compatibility wrapper
|
||||
exec docker compose "$@"
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Делаем исполняемым
|
||||
sudo chmod +x /usr/local/bin/docker-compose
|
||||
|
||||
# Проверяем результат
|
||||
if command -v docker-compose >/dev/null 2>&1; then
|
||||
echo "✅ Успешно! docker-compose теперь доступен:"
|
||||
docker-compose --version
|
||||
else
|
||||
echo "❌ Что-то пошло не так. Проверьте настройки PATH."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "🎉 Настройка завершена!"
|
||||
Reference in New Issue
Block a user