parent
3519463d24
commit
f0c1544ec8
@ -1,139 +0,0 @@
|
||||
# Docker utilities for Swarms project (PowerShell version)
|
||||
# Usage: .\scripts\docker-utils.ps1 [command]
|
||||
|
||||
param(
|
||||
[Parameter(Position=0)]
|
||||
[string]$Command = "help"
|
||||
)
|
||||
|
||||
# Configuration
|
||||
$ImageName = "swarms"
|
||||
$Registry = "kyegomez"
|
||||
$FullImageName = "$Registry/$ImageName"
|
||||
|
||||
# Functions
|
||||
function Write-Usage {
|
||||
Write-Host "Docker Utilities for Swarms" -ForegroundColor Blue
|
||||
Write-Host ""
|
||||
Write-Host "Usage: .\scripts\docker-utils.ps1 [command]"
|
||||
Write-Host ""
|
||||
Write-Host "Commands:"
|
||||
Write-Host " build Build the Docker image locally"
|
||||
Write-Host " test Test the Docker image"
|
||||
Write-Host " run Run the Docker image interactively"
|
||||
Write-Host " push Push to DockerHub (requires login)"
|
||||
Write-Host " clean Clean up Docker images and containers"
|
||||
Write-Host " logs Show logs from running containers"
|
||||
Write-Host " shell Open shell in running container"
|
||||
Write-Host " compose-up Start services with docker-compose"
|
||||
Write-Host " compose-down Stop services with docker-compose"
|
||||
Write-Host " help Show this help message"
|
||||
Write-Host ""
|
||||
}
|
||||
|
||||
function Build-Image {
|
||||
Write-Host "Building Docker image..." -ForegroundColor Green
|
||||
docker build -t "$ImageName`:latest" .
|
||||
Write-Host "✅ Image built successfully!" -ForegroundColor Green
|
||||
}
|
||||
|
||||
function Test-Image {
|
||||
Write-Host "Testing Docker image..." -ForegroundColor Green
|
||||
docker run --rm "$ImageName`:latest" python test_docker.py
|
||||
Write-Host "✅ Image test completed!" -ForegroundColor Green
|
||||
}
|
||||
|
||||
function Run-Interactive {
|
||||
Write-Host "Running Docker image interactively..." -ForegroundColor Green
|
||||
docker run -it --rm -v "${PWD}:/app" -w /app "$ImageName`:latest" bash
|
||||
}
|
||||
|
||||
function Push-ToDockerHub {
|
||||
Write-Host "⚠️ Make sure you're logged into DockerHub first!" -ForegroundColor Yellow
|
||||
Write-Host "Pushing to DockerHub..." -ForegroundColor Green
|
||||
|
||||
# Tag the image
|
||||
docker tag "$ImageName`:latest" "$FullImageName`:latest"
|
||||
|
||||
# Push to DockerHub
|
||||
docker push "$FullImageName`:latest"
|
||||
|
||||
Write-Host "✅ Image pushed to DockerHub!" -ForegroundColor Green
|
||||
}
|
||||
|
||||
function Clean-Docker {
|
||||
Write-Host "Cleaning up Docker resources..." -ForegroundColor Yellow
|
||||
|
||||
# Stop and remove containers
|
||||
docker ps -aq | ForEach-Object { docker rm -f $_ }
|
||||
|
||||
# Remove images
|
||||
docker images "$ImageName" -q | ForEach-Object { docker rmi -f $_ }
|
||||
|
||||
# Remove dangling images
|
||||
docker image prune -f
|
||||
|
||||
Write-Host "✅ Docker cleanup completed!" -ForegroundColor Green
|
||||
}
|
||||
|
||||
function Show-Logs {
|
||||
Write-Host "Showing logs from running containers..." -ForegroundColor Green
|
||||
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
||||
Write-Host ""
|
||||
|
||||
# Show logs for swarms containers
|
||||
$containers = docker ps --filter "name=swarms" --format "{{.Names}}"
|
||||
foreach ($container in $containers) {
|
||||
Write-Host "Logs for $container:" -ForegroundColor Blue
|
||||
docker logs $container --tail 20
|
||||
Write-Host ""
|
||||
}
|
||||
}
|
||||
|
||||
function Open-Shell {
|
||||
Write-Host "Opening shell in running container..." -ForegroundColor Green
|
||||
|
||||
# Find running swarms container
|
||||
$container = docker ps --filter "name=swarms" --format "{{.Names}}" | Select-Object -First 1
|
||||
|
||||
if (-not $container) {
|
||||
Write-Host "❌ No running swarms container found!" -ForegroundColor Red
|
||||
Write-Host "Start a container first with: .\scripts\docker-utils.ps1 run"
|
||||
exit 1
|
||||
}
|
||||
|
||||
Write-Host "Opening shell in $container..." -ForegroundColor Blue
|
||||
docker exec -it $container bash
|
||||
}
|
||||
|
||||
function Compose-Up {
|
||||
Write-Host "Starting services with docker-compose..." -ForegroundColor Green
|
||||
docker-compose up -d
|
||||
Write-Host "✅ Services started!" -ForegroundColor Green
|
||||
Write-Host "Use 'docker-compose logs -f' to view logs"
|
||||
}
|
||||
|
||||
function Compose-Down {
|
||||
Write-Host "Stopping services with docker-compose..." -ForegroundColor Yellow
|
||||
docker-compose down
|
||||
Write-Host "✅ Services stopped!" -ForegroundColor Green
|
||||
}
|
||||
|
||||
# Main script logic
|
||||
switch ($Command.ToLower()) {
|
||||
"build" { Build-Image }
|
||||
"test" { Test-Image }
|
||||
"run" { Run-Interactive }
|
||||
"push" { Push-ToDockerHub }
|
||||
"clean" { Clean-Docker }
|
||||
"logs" { Show-Logs }
|
||||
"shell" { Open-Shell }
|
||||
"compose-up" { Compose-Up }
|
||||
"compose-down" { Compose-Down }
|
||||
"help" { Write-Usage }
|
||||
default {
|
||||
Write-Host "❌ Unknown command: $Command" -ForegroundColor Red
|
||||
Write-Usage
|
||||
exit 1
|
||||
}
|
||||
}
|
Loading…
Reference in new issue