Merge pull request #262 from milas/dev-envs-fastapi
fastapi: add dev envs support
This commit is contained in:
		
						commit
						457fe0e668
					
				
					 4 changed files with 44 additions and 6 deletions
				
			
		
							
								
								
									
										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 | WORKDIR /app | ||||||
| 
 | 
 | ||||||
| RUN apt update |  | ||||||
| 
 |  | ||||||
| COPY requirements.txt ./ | 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 | 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 | $ 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: | services: | ||||||
|   api: |   api: | ||||||
|     build: . |     build: | ||||||
|  |       context: . | ||||||
|  |       target: builder | ||||||
|     container_name: fastapi-application |     container_name: fastapi-application | ||||||
|     environment: |     environment: | ||||||
|       PORT: 8000 |       PORT: 8000 | ||||||
|     ports: |     ports: | ||||||
|       - '8000:8000' |       - '8000:8000' | ||||||
|     restart: "no" |     restart: "no" | ||||||
| 
 |  | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue