Dockerizing an already existing app and database

Viewed 1206

I am trying to Dockerize an app that is already created (database included).

I've got the proper files in place:

  • docker-compose.yml
  • dockerfile
  • requirements.txt

I'm having trouble with the database part - How do I configure the docker-compose.yml file to point to the database that is already created?

Here's why I ask - my understanding of Docker - is you create your base app - then "Dockerize" it or package it into an image that you can distribute. I'm a beginner at this - so that may be why I'm not understanding.

Here is my current docker-compose.yml:

    version: '2'

services:
  db:
    image: postgres:9.6
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=qwerty
      - POSTGRES_DB=ar_db
    ports: 
      - "5433:5433"
  web:
    build: .
    command: python2.7 manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db

and dockerfile:

############################################################
# Dockerfile to run a Django-based web application
# Based on an Ubuntu Image
############################################################

# Set the base image to use to Ubuntu
FROM debian:8.8

# Set the file maintainer (your name - the file's author)
MAINTAINER HeatherJ


# Update the default application repository sources list
RUN apt-get update && apt-get -y upgrade
RUN apt-get install -y python python-pip libpq-dev python-dev



#install git
RUN apt-get update && apt-get install -y --no-install-recommends \
     git&& rm -rf /var/lib/apt/lists/*


# Set env variables used in this Dockerfile (add a unique prefix, such as DOCKYARD)
# Local directory with project source
ENV DOCKYARD_SRC=EPIC_AR
# Directory in container for all project files
ENV DOCKYARD_SRVHOME=/EPIC_AR
# Directory in container for project source files
ENV DOCKYARD_SRVPROJ=/home/epic/EPIC_AR/EPIC_AR

# Create application subdirectories
WORKDIR $DOCKYARD_SRVHOME
RUN mkdir media static logs
VOLUME ["$DOCKYARD_SRVHOME/media/", "$DOCKYARD_SRVHOME/logs/"]

# Copy application source code to SRCDIR
COPY $DOCKYARD_SRC $DOCKYARD_SRVPROJ

# Install Python dependencies

RUN pip install -r $DOCKYARD_SRVPROJ/requirements.txt



# Copy entrypoint script into the image
WORKDIR $DOCKYARD_SRVPROJ
COPY ./docker-entrypoint.sh /
ENTRYPOINT ["/docker-entrypoint.sh"]
0 Answers
Related