Explorar el Código

add flask sample

Signed-off-by: kouul <maulloohans@gmail.com>
kouul hace 5 años
padre
commit
83a24f681f
Se han modificado 5 ficheros con 78 adiciones y 0 borrados
  1. 56 0
      flask/README.md
  2. 6 0
      flask/app/Dockerfile
  3. 9 0
      flask/app/app.py
  4. 1 0
      flask/app/requirements.txt
  5. 6 0
      flask/docker-compose.yml

+ 56 - 0
flask/README.md

@@ -0,0 +1,56 @@
+## Compose sample application
+### Python/Flask application with Nginx proxy and a Mongo database
+
+Project structure:
+```
+.
+├── docker-compose.yaml
+├── app
+    ├── Dockerfile
+    ├── requirements.txt
+    └── app.py
+
+```
+
+[_docker-compose.yaml_](docker-compose.yaml)
+```
+services: 
+  web: 
+    build: app 
+    ports: 
+      - '5000:5000'
+```
+
+## Deploy with docker-compose
+
+```
+$ docker-compose up -d
+Creating network "flask_default" with the default driver
+Building web
+Step 1/6 : FROM python:3.7-alpine
+...
+...
+Status: Downloaded newer image for python:3.7-alpine
+Creating flask_web_1 ... done
+
+```
+
+## Expected result
+
+Listing containers must show two containers running and the port mapping as below:
+```
+$ docker ps
+CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                  NAMES
+c126411df522        flask_web                    "python3 app.py"         About a minute ago  Up About a minute   0.0.0.0:5000->5000/tcp flask_web_1
+```
+
+After the application starts, navigate to `http://localhost:5000` in your web browser or run:
+```
+$ curl localhost:5000
+Hello World!
+```
+
+Stop and remove the containers
+```
+$ docker-compose down
+```

+ 6 - 0
flask/app/Dockerfile

@@ -0,0 +1,6 @@
+FROM python:3.7-alpine 
+WORKDIR /app 
+COPY . /app 
+RUN pip3 install -r requirements.txt 
+ENTRYPOINT ["python3"] 
+CMD ["app.py"]

+ 9 - 0
flask/app/app.py

@@ -0,0 +1,9 @@
+from flask import Flask
+app = Flask(__name__)
+
+@app.route('/')
+def hello():
+	return "Hello World!"
+
+if __name__ == '__main__':
+	app.run(host='0.0.0.0')

+ 1 - 0
flask/app/requirements.txt

@@ -0,0 +1 @@
+flask

+ 6 - 0
flask/docker-compose.yml

@@ -0,0 +1,6 @@
+version: '3' 
+services: 
+  web: 
+    build: app 
+    ports: 
+      - '5000:5000'