Merge pull request #262 from milas/dev-envs-fastapi
fastapi: add dev envs support
This commit is contained in:
		
							
								
								
									
										13
									
								
								fastapi/.docker/docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								fastapi/.docker/docker-compose.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| services: | ||||
|   api: | ||||
|     build: | ||||
|       context: . | ||||
|       target: dev-envs | ||||
|     container_name: fastapi-application | ||||
|     environment: | ||||
|       PORT: 8000 | ||||
|     ports: | ||||
|       - '8000:8000' | ||||
|     volumes: | ||||
|       - /var/run/docker.sock:/var/run/docker.sock | ||||
|     restart: "no" | ||||
| @@ -1,11 +1,26 @@ | ||||
| FROM tiangolo/uvicorn-gunicorn-fastapi:python3.9-slim | ||||
| # syntax = docker/dockerfile:1.4 | ||||
|  | ||||
| FROM tiangolo/uvicorn-gunicorn-fastapi:python3.9-slim AS builder | ||||
|  | ||||
| WORKDIR /app | ||||
|  | ||||
| RUN apt update | ||||
|  | ||||
| COPY requirements.txt ./ | ||||
| RUN pip install --no-cache-dir -r requirements.txt | ||||
| RUN --mount=type=cache,target=/root/.cache/pip \ | ||||
|     pip install -r requirements.txt | ||||
|  | ||||
| COPY ./app ./app | ||||
|  | ||||
| FROM builder as dev-envs | ||||
|  | ||||
| RUN <<EOF | ||||
| apt-get update | ||||
| apt-get install -y --no-install-recommends git | ||||
| EOF | ||||
|  | ||||
| RUN <<EOF | ||||
| useradd -s /bin/bash -m vscode | ||||
| groupadd docker | ||||
| usermod -aG docker vscode | ||||
| EOF | ||||
| # install Docker tools (cli, buildx, compose) | ||||
| COPY --from=gloursdocker/docker / / | ||||
|   | ||||
| @@ -52,4 +52,13 @@ Stop and remove the containers | ||||
| $ docker compose down | ||||
| ``` | ||||
|  | ||||
| ## Use with Docker Development Environments | ||||
|  | ||||
| You can use this sample with the Dev Environments feature of Docker Desktop. | ||||
|  | ||||
|  | ||||
|  | ||||
| To develop directly on the services inside containers, use the HTTPS Git url of the sample: | ||||
| ``` | ||||
| https://github.com/docker/awesome-compose/tree/master/fastapi | ||||
| ``` | ||||
|   | ||||
| @@ -1,10 +1,11 @@ | ||||
| services: | ||||
|   api: | ||||
|     build: . | ||||
|     build: | ||||
|       context: . | ||||
|       target: builder | ||||
|     container_name: fastapi-application | ||||
|     environment: | ||||
|       PORT: 8000 | ||||
|     ports: | ||||
|       - '8000:8000' | ||||
|     restart: "no" | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user