forked from 3wordchant/capsul-flask
		
	Multi-stage build oh my!
This commit is contained in:
		
							
								
								
									
										28
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								Dockerfile
									
									
									
									
									
								
							| @ -1,26 +1,32 @@ | ||||
| FROM python:3.8-alpine | ||||
| FROM python:3.8-alpine as build | ||||
|  | ||||
| RUN apk add gettext git gcc python3-dev musl-dev \ | ||||
|     libffi-dev zlib-dev jpeg-dev libjpeg postgresql-dev build-base \ | ||||
|     --virtual .build-dependencies | ||||
|  | ||||
| RUN mkdir /code | ||||
| WORKDIR /code | ||||
| COPY Pipfile Pipfile.lock /code/ | ||||
| RUN mkdir -p /app/{code,venv} | ||||
| WORKDIR /app/code | ||||
| COPY Pipfile Pipfile.lock /app/code/ | ||||
|  | ||||
| RUN pip install pipenv setuptools wheel cppy | ||||
| RUN python3 -m venv /app/venv | ||||
| RUN pip install pipenv setuptools | ||||
| ENV PATH="/app/venv/bin:$PATH" VIRTUAL_ENV="/app/venv" | ||||
| RUN pip install wheel cppy | ||||
| # Install dependencies into the virtual environment with Pipenv | ||||
| RUN pipenv install --deploy --verbose | ||||
|  | ||||
| RUN pipenv install --system --deploy --verbose | ||||
|  | ||||
| RUN apk del .build-dependencies \ | ||||
|  && rm -rf /var/cache/apk/* /tmp/* | ||||
| FROM python:3.8-alpine | ||||
|  | ||||
| RUN apk add --no-cache libpq libstdc++ libjpeg | ||||
|  | ||||
| COPY . /code/ | ||||
| COPY . /app/code/ | ||||
| WORKDIR /app/code | ||||
|  | ||||
| COPY --from=build /app/venv /app/venv | ||||
| ENV PATH="/app/venv/bin:$PATH" VIRTUAL_ENV="/app/venv" | ||||
|  | ||||
| CMD ["gunicorn", "--bind", "0.0.0.0:5000", "-k", "gevent", "--worker-connections", "1000", "app:app"] | ||||
|  | ||||
| VOLUME /code | ||||
| VOLUME /app/code | ||||
|  | ||||
| EXPOSE 5000 | ||||
|  | ||||
| @ -6,7 +6,7 @@ services: | ||||
|     image: 3wordchant/capsul-flask:latest | ||||
|     build: . | ||||
|     volumes: | ||||
|       - "./:/code" | ||||
|       - "./:/app/code" | ||||
|     depends_on: | ||||
|       - db | ||||
|     ports: | ||||
|  | ||||
		Reference in New Issue
	
	Block a user