app.py
#Flask 와 Redis를 이용한 간단한 웹 서버를 구현한 python 파일
from flask import flask
from redis import Redis, RedisError
import os
import socket
redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)
app = Flask(__name__)
@app.route(" /")
def hello():
try:
visits = redis.incr ("counter")
except RedisError:
visits = "<i>cannot connect to Redis, counter disabled</i>"
html = "<h3>Hello {name} in Cloud Computing!</h3>" \
"<b>Hostname: </b> {hostname}<br/›" \
"‹b>Visits:</b> {visits}"
return html. format (name=os .getenv("NAME", "world"),hostname=socket.gethostname(), visits=visits)
if __name__ == "__main__":
app.run(host='0.0.0.0',port=80)
Dockerfile
FROM python:2.7-slim
#베이스 이미지를 설정
WORKDIR /app
#작업 디렉토리 지정
COPY . /app
#복사할 파일 지정
RUN pip install --trusted-host pypi.python.orf -r requirements.txt
#설치할 패키지 지정
EXPOSE 80
#컨테이너에서 외부로 오픈할 포트 지정
ENV NAME World
#환경변수 지정
CMD ["python","app.py"]
#실행되는 커맨드 지정