diff --git a/composetest/Dockerfile b/composetest/Dockerfile new file mode 100644 index 0000000..2b47c15 --- /dev/null +++ b/composetest/Dockerfile @@ -0,0 +1,10 @@ +FROM python:3.7-alpine +WORKDIR /code +ENV FLASK_APP=app.py +ENV FLASK_RUN_HOST=0.0.0.0 +RUN apk add --no-cache gcc musl-dev linux-headers +COPY requirements.txt requirements.txt +RUN pip install -r requirements.txt +EXPOSE 5000 +COPY . . +CMD [ "flask", "run" ] \ No newline at end of file diff --git a/composetest/__pycache__/app.cpython-37.pyc b/composetest/__pycache__/app.cpython-37.pyc new file mode 100644 index 0000000..b6bee1d Binary files /dev/null and b/composetest/__pycache__/app.cpython-37.pyc differ diff --git a/composetest/app.py b/composetest/app.py new file mode 100644 index 0000000..9178147 --- /dev/null +++ b/composetest/app.py @@ -0,0 +1,23 @@ +import time + +import redis +from flask import Flask + +app = Flask(__name__) +cache = redis.Redis(host='Redis', port='6379') + +def get_hit_count(): + retries = 5 + while True: + try: + return cache.incr('hits') + except redis.exceptions.ConnectionError as exc: + if retries == 0: + raise exc + retries-=1 + time.sleep(0.5) + +@app.route('/') +def hello(): + count = get_hit_count() + return 'Hello LX01! saya sudah terlihat sebanyak {} kali .\n'.format(count) diff --git a/composetest/compose.yaml b/composetest/compose.yaml new file mode 100644 index 0000000..094c942 --- /dev/null +++ b/composetest/compose.yaml @@ -0,0 +1,12 @@ +services: + web: + build: . + ports: + - "8000:5000" + volumes: + - .:/code + environment: + FLASK_DEBUG: "true" + redis: + image: "redis:alpine" + diff --git a/composetest/requirements.txt b/composetest/requirements.txt new file mode 100644 index 0000000..27b8d10 --- /dev/null +++ b/composetest/requirements.txt @@ -0,0 +1,2 @@ +flask +redis \ No newline at end of file