awesome-compose/flask-redis/README.md
ajeetraina aa1d5431df Nginx/Node/Redis and Flask/Redis Compose example
Signed-off-by: ajeetraina <ajeetraina@gmail.com>
2022-03-13 12:31:04 +05:30

73 lines
1.5 KiB
Markdown

## Compose sample application
### Python/Flask application using a Redis database
Project structure:
```
.
├── Dockerfile
├── README.md
├── app.py
├── docker-compose.yml
└── requirements.txt
```
[_docker-compose.yml_](docker-compose.yml)
```
services:
redis:
image: redislabs/redismod
ports:
- '6379:6379'
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
depends_on:
- redis
```
## Deploy with docker-compose
```
$ docker-compose up -d
```
## Expected result
Listing containers must show one container running and the port mapping as below:
```
$ docker-compose ps
NAME COMMAND SERVICE STATUS PORTS
flask-redis-redis-1 "redis-server --load…" redis running 0.0.0.0:6379->6379/tcp
flask-redis-web-1 "/bin/sh -c 'python …" web running 0.0.0.0:5000->5000/tcp
```
After the application starts, navigate to `http://localhost:5000` in your web browser or run:
```
$ curl localhost:5000
This webpage has been viewed 2 time(s)
```
## Monitoring Redis keys
Connect to redis database by using ```redis-cli``` command and monitor the keys.
```
redis-cli -p 6379
127.0.0.1:6379> monitor
OK
1646634062.732496 [0 172.21.0.3:33106] "INCRBY" "hits" "1"
1646634062.735669 [0 172.21.0.3:33106] "GET" "hits"
```
Stop and remove the containers
```
$ docker-compose down
```