Awesome Docker Compose samples
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
awesome-compose/fastapi
Nick Sieger c2f8036fd3
Add "Open in Docker Dev Environments" links (#280)
2 years ago
..
.docker fastapi: add dev envs support 2 years ago
app Add fastapi to the list of compose projects 3 years ago
Dockerfile fastapi: add dev envs support 2 years ago
README.md Add "Open in Docker Dev Environments" links (#280) 2 years ago
compose.yaml fastapi: add dev envs support 2 years ago
requirements.txt Add fastapi to the list of compose projects 3 years ago

README.md

Compose sample application

Use with Docker Development Environments

You can open this sample in the Dev Environments feature of Docker Desktop version 4.12 or later.

Open in Docker Dev Environments Open in Docker Dev Environments

Python/FastAPI application

Project structure:

├── compose.yaml
├── Dockerfile
├── requirements.txt
├── app
    ├── main.py
    ├── __init__.py

compose.yaml

services:
  api:
    build: .
    container_name: fastapi-application
    environment:
      PORT: 8000
    ports:
      - '8000:8000'
    restart: "no"

Deploy with docker compose

docker-compose up -d --build

Expected result

Listing containers must show one container running and the port mapping as below:

$ docker ps
CONTAINER ID   IMAGE          COMMAND       CREATED              STATUS              PORTS                                               NAMES
7087a6e79610   5c1778a60cf8   "/start.sh"   About a minute ago   Up About a minute   80/tcp, 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp   fastapi-application

After the application starts, navigate to http://localhost:8000 in your web browser and you should see the following json response:

{
"message": "OK"
}

Stop and remove the containers

$ docker compose down