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"] |
Hi @rohangeorge91 not able to run server.py in next layer of docker file. everytime i need to run requirment.txt in second layer also.
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.
@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
Brilliant. You can make the build even lighter by pip the dependencies to a target location and then including them in the pythonpath.