본문 바로가기

클라우드/도커(Docker)

도커 Docker Flask를 이용한 간단한 앱 실행

 

 

 

더보기

# 가상환경 생성
vagrant@docker:~$ sudo apt install python
vagrant@docker:~/build$ mkdir flask
vagrant@docker:~/build$ cd flask
vagrant@docker:~/build/flask$ sudo apt install python3-venv
vagrant@docker:~/build/flask$ python3 -m venv mysite
vagrant@docker:~/build/flask$ ls
mysite

# 가상환경 활성화
vagrant@docker:~/build/flask$ source mysite/bin/activate

# Flask 설치
# Flask는 웹 애플리케이션 개발을 위한 파이썬 프레임워크
(mysite) vagrant@docker:~/build/flask$ pip3 install flask

# pip freeze 
# 현재 작업 환경(가상환경)에 설치되어있는 패키지의 리스트를 모두 출력
(mysite) vagrant@docker:~/build/flask$ pip3 freeze > requirements.txt
(mysite) vagrant@docker:~/build/flask$ cat requirements.txt 
click==8.0.1
Flask==2.0.1
itsdangerous==2.0.1
Jinja2==3.0.1
MarkupSafe==2.0.1
Werkzeug==2.0.1

# Dockerfile 작성
(mysite) vagrant@docker:~/build/flask$ cat Dockerfile 
FROM python:3
COPY . /app
RUN pip3 install -r /app/requirements.txt
CMD ["python3", "/app/index.py"]

# index.py 파일 작성
(mysite) vagrant@docker:~/build/flask$ cat index.py 
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return " LDH HELLO "
if __name__ == "__main__":
    app.run(host="0.0.0.0", port=int("5000"), debug=False)

 

1.도커를 이용해 실행 

 

# 도커 이미지 생성
vagrant@docker:~/build/flask$ docker build -t myflask:v1 .

# 도커 컨테이너 생성
vagrant@docker:~/build/flask$ docker run -d -p 5000:5000 myflask:v1

# 실행
vagrant@docker:~/build/flask$ curl localhost:5000
 LDH HELLO

 

 

 

2. 그냥 실행
# 실행
(mysite) vagrant@docker:~/build/flask$ python3 index.py

# 다른 터미널에서 확인 
vagrant@docker:~$ curl localhost:5000
 LDH HELLO