Merge pull request #14 from aiordache/master
Connect backend to db in the nginx-flask-mysql samplepull/15/head
commit
f21049270d
@ -1,10 +1,9 @@ |
||||
FROM python:3.6-alpine3.7 |
||||
EXPOSE 5000 |
||||
FROM python:3.8-alpine |
||||
ENV PYTHONUNBUFFERED 1 |
||||
RUN mkdir /code |
||||
WORKDIR /code |
||||
ADD requirements.txt /code/ |
||||
COPY requirements.txt /code/ |
||||
RUN pip install -r requirements.txt |
||||
ADD . /code/ |
||||
COPY . /code/ |
||||
ENV FLASK_APP hello.py |
||||
CMD flask run --host=0.0.0.0 |
||||
|
@ -1,6 +1,41 @@ |
||||
import os |
||||
import time |
||||
from flask import Flask |
||||
import mysql.connector |
||||
|
||||
passfile = open('/run/secrets/db-password', 'r') |
||||
|
||||
#give db some time to start |
||||
time.sleep(3) |
||||
#connect to db |
||||
conn = mysql.connector.connect( |
||||
user='root', |
||||
password=passfile.read(), |
||||
host='db', # name of the mysql service as set in the docker-compose file |
||||
database='example', |
||||
auth_plugin='mysql_native_password' |
||||
) |
||||
passfile.close() |
||||
|
||||
cursor = conn.cursor() |
||||
|
||||
app = Flask(__name__) |
||||
|
||||
@app.route('/') |
||||
def hello_world(): |
||||
return 'Hello world' |
||||
def listBlog(): |
||||
cursor.execute('SELECT title FROM blog') |
||||
response = '' |
||||
for c in cursor: |
||||
response = response + '<div>' + c[0] + '</div>' |
||||
return response |
||||
|
||||
def prepare_db(): |
||||
cursor.execute('DROP TABLE IF EXISTS blog') |
||||
cursor.execute('CREATE TABLE blog (id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255))') |
||||
cursor.executemany('INSERT INTO blog (id, title) VALUES (%s, %s);', [(i, 'Blog post #%d'% i) for i in range (1,5)]) |
||||
conn.commit() |
||||
|
||||
|
||||
if __name__ == '__main__': |
||||
prepare_db() |
||||
app.run() |
||||
|
@ -1,6 +1,2 @@ |
||||
click==6.7 |
||||
Flask==1.0.2 |
||||
itsdangerous==0.24 |
||||
Jinja2==2.10 |
||||
MarkupSafe==1.0 |
||||
Werkzeug==0.14.1 |
||||
Flask==1.1.1 |
||||
mysql-connector==2.2.9 |
||||
|
Loading…
Reference in new issue