add flask sample
Signed-off-by: kouul <maulloohans@gmail.com>
This commit is contained in:
		
							parent
							
								
									56b4dc0cf9
								
							
						
					
					
						commit
						83a24f681f
					
				
					 5 changed files with 78 additions and 0 deletions
				
			
		
							
								
								
									
										56
									
								
								flask/README.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								flask/README.md
									
										
									
									
									
										Normal file
									
								
							|  | @ -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
									
								
								flask/app/Dockerfile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								flask/app/Dockerfile
									
										
									
									
									
										Normal file
									
								
							|  | @ -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
									
								
								flask/app/app.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								flask/app/app.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -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
									
								
								flask/app/requirements.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								flask/app/requirements.txt
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | flask | ||||||
							
								
								
									
										6
									
								
								flask/docker-compose.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								flask/docker-compose.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | ||||||
|  | version: '3'  | ||||||
|  | services:  | ||||||
|  |   web:  | ||||||
|  |     build: app  | ||||||
|  |     ports:  | ||||||
|  |       - '5000:5000' | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue