add nginx-flask-mysql application sample

Signed-off-by: Anca Iordache <anca.iordache@docker.com>
pull/2/head
Anca Iordache 4 years ago
parent 8bb4e23e28
commit a410c8bc62
  1. 10
      samples/nginx-flask-mysql/backend/Dockerfile
  2. 6
      samples/nginx-flask-mysql/backend/hello.py
  3. 6
      samples/nginx-flask-mysql/backend/requirements.txt
  4. 1
      samples/nginx-flask-mysql/db/password.txt
  5. 27
      samples/nginx-flask-mysql/docker-compose.yaml
  6. 2
      samples/nginx-flask-mysql/proxy/Dockerfile
  7. 8
      samples/nginx-flask-mysql/proxy/conf

@ -0,0 +1,10 @@
FROM python:3.6-alpine3.7
EXPOSE 5000
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
ENV FLASK_APP hello.py
CMD flask run --host=0.0.0.0

@ -0,0 +1,6 @@
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello world'

@ -0,0 +1,6 @@
click==6.7
Flask==1.0.2
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
Werkzeug==0.14.1

@ -0,0 +1,27 @@
version: "3.7"
services:
backend:
build: backend
depends_on:
- db
db:
environment:
MYSQL_DATABASE: example
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db-password
image: mysql:5.7
restart: always
secrets:
- db-password
volumes:
- db-data:/var/lib/mysql
proxy:
build: proxy
ports:
- 80:80
depends_on:
- backend
volumes:
db-data: {}
secrets:
db-password:
file: db/password.txt

@ -0,0 +1,2 @@
FROM nginx:1.13-alpine
COPY conf /etc/nginx/conf.d/default.conf

@ -0,0 +1,8 @@
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://backend:5000;
}
}
Loading…
Cancel
Save