echo "Preparing app..." docker network inspect app-net >/dev/null 2>&1 || docker network create app-net if ! docker image inspect mysql:8.0.30 >/dev/null 2>&1; then echo "MySQL image not found locally. Pulling image..." docker pull mysql:8.0.30 fi MYSQL_CONTAINER=$(docker ps -aq -f name=battleship-mysql) if [ -n "$MYSQL_CONTAINER" ]; then if [ "$(docker ps -q -f name=battleship-mysql)" ]; then echo "MySQL container is already running." else echo "Starting existing MySQL container..." docker start battleship-mysql docker network connect app-net battleship-mysql || true fi else echo "Creating and starting MySQL container..." docker run --network app-net --name battleship-mysql \ -e MYSQL_ROOT_PASSWORD=somepassword \ -e MYSQL_DATABASE=battleship \ -p 3306:3306 \ -d mysql:8.0.30 fi docker-compose build echo "Preparation done."