The key is running only 1 worker when start uvicorn
Content
For local Python app development, use a Docker container for non-application services like databases, Redis, etc. If all of your services are running in containers, you SHOULD use remote debug.
If all of your services are run in container you SHOULD use remote debug
0. Dockerfile
Here, I will use docker-compose as example
version: "3.8"
services:
pgsql:
image: postgres:13
restart: unless-stopped
environment:
- POSTGRES_HOST_AUTH_METHOD=trust
- POSTGRES_USER=root
- POSTGRES_PASSWORD=
- POSTGRES_DB=postgres
volumes:
- postgres:/var/lib/postgresql/data
ports:
- '5432:5432'
privileged: true
volumes:
postgres:
1. Setup Run/Debug configurations
It’s located in the top-right corner.
2. Setup local running configuration
Choose “FastAPI” for the running configuration.
remember to set
--workers=1
3. Setup container running configuration
Choose Docker Compose for your configuration.
4. Add local configuration
Under “Before launch” settings, add your local running configuration.