Files
coal/script/startVM.ps1

58 lines
1.0 KiB
PowerShell

$vmrun = "C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe"
$vmx = "E:\vm\coal-dev-debian\coal-dev-debian.vmx"
$vmuser = "root"
$vmpass = "abc@123"
$composeFile = "/root/coal-env/dev/docker-compose.yaml"
& $vmrun -T ws start $vmx nogui
$count = 0
$vmStartTime = Get-Date
while ($true)
{
$count++
if ($count -gt 10)
{
Write-Host "Timeout"
Throw "等待虚拟机IP超时 $count$vmx"
}
$ip = & $vmrun -T ws getGuestIPAddress $vmx
if ($?)
{
Write-Host "IP: $ip"
break
}
else
{
Write-Host "Waiting for IP..."
Start-Sleep -Seconds 5
}
}
$vmEndTime = Get-Date
$vmStartSeconds = [math]::Round(($vmEndTime - $vmStartTime).TotalSeconds, 2)
Write-Host "VM start time: $vmStartSeconds seconds"
Write-Host "start docker compose in vm...."
& $vmrun -gu $vmuser -gp $vmpass -T ws runProgramInGuest $vmx /usr/bin/docker compose -f $composeFile up -d
if ($?)
{
Write-Host "docker compose started"
}
else
{
Write-Host "docker compose start failed"
}