# Docker development setup

Two containers: **web** (PHP 8.2 + Apache) and **MySQL 8**.

## Prerequisites

- Docker Engine 20.10+
- Docker Compose v2
- `expomedics.local` in `/etc/hosts` pointing to `127.0.0.1` (optional)

## Quick start

```bash
cp .env.docker.example .env
docker compose build
docker compose up -d

docker compose exec web composer install
docker compose exec web php artisan key:generate
docker compose exec web php artisan migrate
```

Open [http://expomedics.local](http://expomedics.local) or [http://localhost](http://localhost).

## Services

| Service | Description | Port |
|---------|-------------|------|
| `web` | Laravel (Apache + PHP) | 80 |
| `mysql` | MySQL 8 | 3307 (host) → 3306 |

## Common commands

```bash
docker compose up -d
docker compose down
docker compose logs -f web
docker compose exec web php artisan migrate
docker compose exec web bash
```

## Environment

Copy `.env.docker.example` to `.env`. Use `DB_HOST=mysql` inside Docker.

## Rebuild after Dockerfile changes

```bash
docker compose build --no-cache web
docker compose up -d
```
