Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Allow docker to reuse previous pip layer Fixed newlines
- Loading branch information
1 parent
a7fa867
commit 38a8863
Showing
3 changed files
with
46 additions
and
14 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
.git | ||
.gitignore | ||
CONTRIBUTORS.txt | ||
LICENSE.rst | ||
README.md | ||
|
||
*.pyc | ||
*media/* | ||
*static/* | ||
*build/* | ||
*.DS_STORE | ||
db.* | ||
venv* | ||
node_modules |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1,38 @@ | ||
# Build the app on top of Ubuntu | ||
from ubuntu | ||
FROM ubuntu:xenial | ||
|
||
RUN echo 'deb http://ppa.launchpad.net/chris-lea/redis-server/ubuntu xenial main' > /etc/apt/sources.list.d/redis-server.list && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C7917B12 | ||
|
||
# Patch and Install Dependencies | ||
RUN apt-get -y update && apt-get -y upgrade | ||
RUN apt-get -y install git python-dev make python-pip libpq-dev | ||
RUN apt-get -y install postgresql postgresql-contrib | ||
RUN apt-get -y update && apt-get -y install git python-dev make python-pip libpq-dev postgresql postgresql-contrib redis-server && apt-get -y clean | ||
|
||
# Updating redis config | ||
RUN sed -i 's/# bind 127\.0\.0\.1/bind 127\.0\.0\.1/' /etc/redis/redis.conf | ||
|
||
CMD mkdir -p /app && chown -R postgres:postgres /app | ||
|
||
# Add the application code to the image | ||
ADD . /app/ | ||
# Add python requirements to the image | ||
ADD requirements.txt /app/requirements.txt | ||
ADD test-requirements.txt /app/test-requirements.txt | ||
|
||
# Set a working directory | ||
WORKDIR /app/ | ||
|
||
# Build the application | ||
RUN pip install -r requirements.txt --upgrade | ||
RUN pip install --no-cache-dir -r requirements.txt | ||
|
||
# Add the application code to the image | ||
ADD . /app/ | ||
|
||
# Start postgres database and use it while it is running in the container | ||
# Create the default db user (ash) | ||
RUN sudo -u postgres service postgresql start && \ | ||
sudo -u postgres psql --command "CREATE USER ash WITH PASSWORD 'pokemon'" && \ | ||
sudo -u postgres createdb -O ash pokeapi && \ | ||
python manage.py migrate --settings=config.docker && \ | ||
printf "from data.v2.build import build_all; build_all()" | python manage.py shell --settings=config.docker | ||
RUN service postgresql start && \ | ||
service redis-server start && \ | ||
su - postgres -c "psql --command \"CREATE USER ash WITH PASSWORD 'pokemon'\"" && \ | ||
su - postgres -c "createdb -O ash pokeapi" && \ | ||
python manage.py migrate --settings=config.docker && \ | ||
echo "from data.v2.build import build_all; build_all(); quit()" | python -u manage.py shell --settings=config.docker | ||
|
||
# Expose the app and serve the API. | ||
EXPOSE 8000 | ||
CMD service postgresql start && python manage.py runserver --settings=config.docker 0.0.0.0:8000 | ||
|
||
CMD service postgresql start && service redis-server start && python manage.py runserver --settings=config.docker 0.0.0.0:8000 |
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