mirror of
https://codeup.aliyun.com/64f7d6b8ce01efaafef1e678/coal/coal.git
synced 2026-01-25 15:55:18 +08:00
58 lines
1.0 KiB
PowerShell
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"
|
|
} |