Connecting the dots
python
webapp
redis
docker container run -idt --name redis redis:alpine
1:C 02 Feb 15:26:00.798 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/t
o/redis.conf
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 3.2.7 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 1
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
1:M 02 Feb 15:26:00.804 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower val
ue of 128.
1:M 02 Feb 15:26:00.804 # Server started, Redis version 3.2.7
1:M 02 Feb 15:26:00.804 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.o
vercommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
1:M 02 Feb 15:26:00.804 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage
issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc
/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
1:M 02 Feb 15:26:00.804 * The server is now ready to accept connections on port 6379
docker container run -idt --name vote -P schoolofdevops/vote
Try registering a vote through webapp
docker container rm -f vote
docker container run -idt --name vote --link redis:redis -P schoolofdevops/vote
redis:redis
redis
redis
vote
docker container run -idt --name worker --link redis:redis -P schoolofdevops/vote-worker
docker logs worker
root@docker2-2gb-nyc3-01:/workspace# docker logs worker
Connected to redis
Waiting for db
Waiting for db
Waiting for db
Waiting for db
Waiting for db
vote
redis
worker
docker-compose.yml
vote:
build: ./vote
command: python app.py
links:
- redis:redis
ports:
- 80
redis:
image: redis:alpine
worker:
build: ./worker
dockerfile: Dockerfile
links:
- redis:redis
docker-compose.yml
docker-compose config
docker-compose build
docker-compose build ( observe caching )
docker-compose up -d
docker-compose ps
docker rm -f vote redis worker
docker-compose images
docker-compose logs
docker-compose logs worker
docker-compose pull
docker-compose exec vote ps
docker-compose stop
docker-compose down
version: "3.0"
networks:
vote:
driver: bridge
services:
vote:
build: ./vote
command: python app.py
networks:
- vote
ports:
- 80
depends_on:
- redis
redis:
image: redis:alpine
networks:
- vote
worker:
build:
context: ./worker
dockerfile: Dockerfile
networks:
- vote
depends_on:
- redis
vote:
build: ./vote
command: python app.py
links:
- redis:redis
ports:
- 80
redis:
image: redis:alpine
worker:
build: ./worker
dockerfile: Dockerfile
links:
- redis:redis
docker-compose.yml
docker-compose-v3.yml
docker-compose -f docker-compose-v3.yml up -d
docker-compose -f docker-compose-v3.yml ps
docker-compose -f docker-compose-v3.yml down
db
image: postgres:9.4
db-data
volumes:
db-data:/var/lib/postgresql/data
networks: vote
image: schoolofdevops/vote-result
networks: vote
ports: 5001:80
result
https://gist.github.com/initcron/162f15c3ca822551bfbbe3f634d681aa