# Docker Testing

> Guidance for running and debugging tests in Docker environments for FastAPI + Vue/Tailwind projects.

- Skill: `majiayu000/docker-testing` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/docker-testing`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/docker-testing/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/docker-testing

---


# Docker Testing Skill

Use this skill whenever you need to run the project’s test suite or
diagnose issues inside Docker containers.  It provides a summary of
common commands and troubleshooting steps.

## Running the test suite

- **Build and start services:** Use `docker compose -f docker/docker-compose.yaml up --build` to build all images and start the services in development mode.
- **Run backend tests:** Execute `docker compose -f docker/docker-compose.yaml exec backend python -m pytest` to run the backend test suite.
- **Run frontend tests:** For frontend unit tests, run `docker compose -f docker/docker-compose.yaml exec frontend npm run test` or use the appropriate Vitest command.
- **Check logs:** View logs for all services with `docker compose -f docker/docker-compose.yaml logs -f` or for a specific service with `docker compose -f docker/docker-compose.yaml logs -f backend` or `frontend`.
- **Stop services:** Shut down all running containers with `docker compose -f docker/docker-compose.yaml down`.  Include the `-v` flag to remove volumes for a clean start.

## Troubleshooting tips

- **Port conflicts:** If services fail to start, check that the default ports (backend 8000, frontend 8080) are free.  Modify port mappings in the compose file if necessary.
- **Database issues:** Ensure that the database service is healthy by running `docker compose -f docker/docker-compose.yaml ps` and looking for the “(healthy)” status.  Check `docker compose -f docker/docker-compose.yaml logs db` for errors.
- **API connection errors:** Test the backend directly with `curl http://localhost:8000/docs` to confirm it’s running.  Verify the Nginx configuration in `client/nginx.conf` if the frontend cannot reach `/api/*` endpoints.

## Best practices

- Run tests in a clean environment.  Stop containers and remove volumes if you suspect stale state.
- Use relative paths and environment variables.  Avoid hard‑coded host dependencies so your setup is portable.
- When debugging, read container logs before rerunning tests.  This saves time and surfaces issues like missing migrations or syntax errors.

