Last active
November 18, 2020 23:31
-
-
Save pvergain/6c45d0859c10ca2341512c69d46167b2 to your computer and use it in GitHub Desktop.
Dockerfile based on centos:7 Python3.6 and pipenv
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
# Use an official centos7 image | |
FROM centos:7 | |
RUN localedef -i fr_FR -c -f UTF-8 -A /usr/share/locale/locale.alias fr_FR.UTF-8 | |
ENV LANG fr_FR.utf8 | |
# gcc because we need regex and pyldap | |
# openldap-devel because we need pyldap | |
RUN yum update -y \ | |
&& yum install -y https://centos7.iuscommunity.org/ius-release.rpm \ | |
&& yum install -y python36u python36u-libs python36u-devel python36u-pip \ | |
&& yum install -y which gcc \ | |
&& yum install -y openldap-devel | |
# pipenv installation | |
RUN pip3.6 install pipenv | |
RUN ln -s /usr/bin/pip3.6 /bin/pip | |
RUN rm /usr/bin/python | |
# python must be pointing to python3.6 | |
RUN ln -s /usr/bin/python3.6 /usr/bin/python | |
WORKDIR /opt/intranet | |
# pipenv install django --python `which python3.6` --system | |
# pipenv install --python `which python3.6` --system | |
# copy the Pipfile to the working directory | |
COPY Pipfile /opt/intranet/ | |
# This is useful for Docker containers, and deployment infrastructure (e.g. Heroku does this) | |
# explicit is better than implicit | |
RUN pipenv install --python `which python3.6` --system | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Removing default python will be the pain in the ass, especially when you exec to the container for debugging purpose later