Docker init

This commit is contained in:
StewKI
2026-05-17 16:02:29 +02:00
parent f562b55b19
commit 8dae336819
4 changed files with 99 additions and 0 deletions

36
docker/start.sh Executable file
View File

@@ -0,0 +1,36 @@
#!/usr/bin/env bash
set -euo pipefail
CONTAINER="ewc2025-mysql"
IMAGE="mysql:8.4"
ROOT_PASSWORD="ewc2025root"
DATABASE="ewc2025"
PORT="13306"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SQL_DIR="$(cd "${SCRIPT_DIR}/../sql" && pwd)"
if docker ps -a --format '{{.Names}}' | grep -q "^${CONTAINER}$"; then
echo "Container '${CONTAINER}' already exists — starting it."
docker start "${CONTAINER}"
else
echo "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}"
fi
echo "Waiting for MySQL to be ready..."
until docker exec "${CONTAINER}" mysqladmin ping -uroot -p"${ROOT_PASSWORD}" --silent 2>/dev/null; do
sleep 1
done
echo "MySQL 8.4 is up."
echo " Host: 127.0.0.1:${PORT}"
echo " Database: ${DATABASE}"
echo " User: root / ${ROOT_PASSWORD}"