Files
2026-11-08 20:30:40 +01:00

44 lines
1.3 KiB
PowerShell

function Start-DockerDesktop {
[CmdletBinding()]
param(
[Parameter()]
[string]$Path = "$env:ProgramFiles\Docker\Docker\Docker Desktop.exe",
[Parameter()]
[int]$TimeoutSeconds = 120
)
if (-not (Test-Path $Path)) {
Write-Error "Docker Desktop est introuvable au chemin : $Path"
return $false
}
$dockerProcess = Get-Process -Name "Docker Desktop" -ErrorAction SilentlyContinue
if ($null -eq $dockerProcess) {
Write-Host "Démarrage de Docker Desktop..." -ForegroundColor Cyan
Start-Process -FilePath $Path
} else {
Write-Host "Le processus Docker Desktop est déjà en cours." -ForegroundColor Yellow
}
Write-Host "En attente du moteur Docker..." -NoNewline
$elapsed = 0
$interval = 2
while ($elapsed -lt $TimeoutSeconds) {
cmd.exe /c "docker info >nul 2>&1"
if ($LASTEXITCODE -eq 0) {
Write-Host " Prêt !" -ForegroundColor Green
docker --version
return $true
}
Start-Sleep -Seconds $interval
Write-Host "." -NoNewline
$elapsed += $interval
}
Write-Host ""
Write-Warning "Le moteur Docker n'a pas répondu dans le délai imparti ($TimeoutSeconds s)."
return $false
}