mirror of
https://codeup.aliyun.com/64f7d6b8ce01efaafef1e678/coal/coal.git
synced 2026-01-25 15:55:18 +08:00
添加vm一键启动脚本
This commit is contained in:
58
script/startVM.ps1
Normal file
58
script/startVM.ps1
Normal file
@@ -0,0 +1,58 @@
|
||||
$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"
|
||||
}
|
||||
Reference in New Issue
Block a user