Created
February 26, 2018 10:02
-
-
Save praveenweb/9cabe480c1811b85337de988e43b8633 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ---- Base python ---- | |
FROM python:3.6 AS base | |
# Create app directory | |
WORKDIR /app | |
# ---- Dependencies ---- | |
FROM base AS dependencies | |
COPY gunicorn_app/requirements.txt ./ | |
# install app dependencies | |
RUN pip install -r requirements.txt | |
# ---- Copy Files/Build ---- | |
FROM dependencies AS build | |
WORKDIR /app | |
COPY . /app | |
# Build / Compile if required | |
# --- Release with Alpine ---- | |
FROM python:3.6-alpine3.7 AS release | |
# Create app directory | |
WORKDIR /app | |
COPY --from=dependencies /app/requirements.txt ./ | |
COPY --from=dependencies /root/.cache /root/.cache | |
# Install app dependencies | |
RUN pip install -r requirements.txt | |
COPY --from=build /app/ ./ | |
CMD ["gunicorn", "--config", "./gunicorn_app/conf/gunicorn_config.py", "gunicorn_app:app"] |
@praveenweb, I have one question. What's the use of dependencies layer since you are installing the packages in the release itself?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
that's was the reason I gave the pip3 install steps we give a specific path to copy the dependencies and also include them in the python path so that it will scan for them from that directory. Can you share your dockerfile as a Git gist? also to avoid bothering praveen.