Files
IPZ_1/docker/start.ps1
2026-05-17 16:02:29 +02:00

39 lines
1.1 KiB
PowerShell

$ErrorActionPreference = "Stop"
$CONTAINER = "ewc2025-mysql"
$IMAGE = "mysql:8.4"
$ROOT_PASSWORD = "ewc2025root"
$DATABASE = "ewc2025"
$PORT = "13306"
$SQL_DIR = Resolve-Path "$PSScriptRoot\..\sql"
$exists = docker ps -a --format '{{.Names}}' | Where-Object { $_ -eq $CONTAINER }
if ($exists) {
Write-Host "Container '$CONTAINER' already exists -- starting it."
docker start $CONTAINER
} else {
Write-Host "Creating and starting '$CONTAINER'."
docker run -d `
--name $CONTAINER `
-e MYSQL_ROOT_PASSWORD=$ROOT_PASSWORD `
-e MYSQL_DATABASE=$DATABASE `
-p "${PORT}:3306" `
-v "${CONTAINER}-data:/var/lib/mysql" `
-v "${SQL_DIR}\schema.sql:/docker-entrypoint-initdb.d/01_schema.sql:ro" `
$IMAGE
}
Write-Host "Waiting for MySQL to be ready..."
while ($true) {
$result = docker exec $CONTAINER mysqladmin ping -uroot -p"$ROOT_PASSWORD" --silent 2>$null
if ($LASTEXITCODE -eq 0) { break }
Start-Sleep -Seconds 1
}
Write-Host "MySQL 8.4 is up."
Write-Host " Host: 127.0.0.1:${PORT}"
Write-Host " Database: $DATABASE"
Write-Host " User: root / $ROOT_PASSWORD"