├── .editorconfig ├── Dockerfile ├── README.md ├── app.py ├── docker-compose.yml └── requirements.txt /.editorconfig: -------------------------------------------------------------------------------- 1 | ; EditorConfig helps developers define and maintain consistent 2 | ; coding styles between different editors and IDEs. 3 | 4 | ; For more visit http://editorconfig.org. 5 | root = true 6 | 7 | ; Choose between lf or rf on "end_of_line" property 8 | [*] 9 | indent_style = space 10 | end_of_line = lf 11 | charset = utf-8 12 | trim_trailing_whitespace = true 13 | indent_size = 2 14 | 15 | [*.py] 16 | indent_size = 4 17 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7 2 | ADD . /code 3 | WORKDIR /code 4 | RUN pip install -r requirements.txt 5 | CMD python app.py 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Exemplo de aplicação Python rodando em Docker 2 | 3 | Código de exemplo para o vídeo sobre aplicações Python em Docker. 4 | 5 | Caso não tenha visto, segue o link: 6 | 7 | https://www.youtube.com/watch?v=WRJDGo0HWng&feature=youtu.be 8 | 9 | Keep hacking :-) 10 | -------------------------------------------------------------------------------- /app.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | from redis import Redis 3 | 4 | import os 5 | 6 | host_redis = os.environ.get('HOST_REDIS', 'redis') 7 | port_redis = os.environ.get('PORT_REDIS', 6379) 8 | 9 | app = Flask(__name__) 10 | redis = Redis(host=host_redis, port=port_redis) 11 | 12 | @app.route('/') 13 | def hello(): 14 | redis.incr('hits') 15 | return 'Hello World! %s times' % redis.get('hits') 16 | 17 | if __name__ == "__main__": 18 | app.run(host='0.0.0.0', debug=True) 19 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | web: 2 | build: . 3 | ports: 4 | - "5000:5000" 5 | volumes: 6 | - .:/code 7 | links: 8 | - redis 9 | environment: 10 | - PORT_REDIS=6379 11 | - HOST_REDIS=redis 12 | 13 | redis: 14 | image: redis 15 | volumes: 16 | - dados_redis:/data 17 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | flask 2 | redis 3 | --------------------------------------------------------------------------------