36 lines
1.1 KiB
PowerShell
36 lines
1.1 KiB
PowerShell
|
|
$ErrorActionPreference = 'Stop'
|
||
|
|
|
||
|
|
Write-Host '[AZA] Ensuring Docker Desktop engine is running...'
|
||
|
|
|
||
|
|
# Start Docker Desktop service if present
|
||
|
|
$svc = Get-Service -Name 'com.docker.service' -ErrorAction SilentlyContinue
|
||
|
|
if ($svc) {
|
||
|
|
if ($svc.Status -ne 'Running') {
|
||
|
|
Write-Host '[AZA] Starting com.docker.service...'
|
||
|
|
Start-Service 'com.docker.service' -ErrorAction SilentlyContinue | Out-Null
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Launch Docker Desktop UI (safe if already running)
|
||
|
|
$dd = Join-Path $Env:ProgramFiles 'Docker\Docker\Docker Desktop.exe'
|
||
|
|
if (Test-Path $dd) {
|
||
|
|
Start-Process $dd -ErrorAction SilentlyContinue | Out-Null
|
||
|
|
}
|
||
|
|
|
||
|
|
# Quick check (no loops to avoid PS quoting issues)
|
||
|
|
Start-Sleep -Seconds 3
|
||
|
|
$out = & docker version 2>&1
|
||
|
|
if ($LASTEXITCODE -ne 0) {
|
||
|
|
Write-Host $out
|
||
|
|
throw 'Docker daemon not reachable. Open Docker Desktop and ensure it is running (Linux containers).'
|
||
|
|
}
|
||
|
|
|
||
|
|
# Must have Server section
|
||
|
|
if (($out | Out-String) -notmatch 'Server:') {
|
||
|
|
Write-Host $out
|
||
|
|
throw 'Docker CLI reachable but Server section missing. Docker engine is not ready.'
|
||
|
|
}
|
||
|
|
|
||
|
|
Write-Host '[AZA] OK: Docker engine reachable.'
|
||
|
|
|