Cloud Study - Docker, Python, Flask
2021. 3. 16. 02:12ㆍWork/Cloud_Devops
728x90
반응형
-> Docker Image Build
** Flask?
: 웹 애플리케이션 개발을 위한 파이썬 프레임워크, 마이크로 프레임 워크
: 애플리케이션 기능을 추가할 수 있는 확장 기능 지원
** Python web framework
: Django >> 가장 인기가 많고 널리 쓰이는 프레임 워크, 웹 개발 작업을 처리하는 데 사용하는 수십 개의 추가 기능이 포함되어 있어서 조금 무겁다.
: Flask >> 개발자가 사용하려는 도구와 라이브러리를 스스로 선택하도록 하여 가볍다.
: Tornado >> 비공기 작업을 지원하기 위해 구축 되었다. 네이티브 웹 소켓을 지원한다. 웹 소켓을 매우 쉽고 간단히 구현할 수 있다.
: Pyramid >> 웹 응용 프로그램을 쉽게 작성할 수 있게 해준다. 작은 규모로 시작하지만 점차 확장하여 응용프로그램이 커짐에 따라 확장되는 아키텍처 디자인
: Bottle >> 빠르고 간단하며 가벼운 WSGI 마이크로 웹 프레임 워크
-> python3-pip 설치
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, Docker!'
-> AWS에서 인바운드 규칙을 풀어 줘야 연결이 된다.
-> flask를 실행 시켜 준다. 연결이 완료 되면 EC2의 퍼블릭 IPv4 주소를 사용하여 연결해야 한다.
: py에 등록된 것이 잘 뜨는 것을 확인 할 수 있다.
-> Dockerfile 생성
Docker 이미지는 다른 이미지에서 상속 될 수 있습니다.
따라서 자체 기본 이미지를 만드는 대신 Python 애플리케이션을 실행하는 데 필요한 모든 도구와 패키지가 이미 포함 된 공식 Python 이미지를 사용합니다.
-> 이미지 구축
Got permission denied while trying to connect to the Docker daemon socket...
: 해당 관련 오류가 나오면 아래와 같이 처리 한다.
sudo usermod -a -G docker $USER
sudo reboot
-> 현재는 Flask만 필요하기 때문에 requirements.txt에 Flask만 넣습니다.
-> Docker images가 잘 생성된것을 볼 수 있습니다.
** docker rmi -f $(docker images -f "dangling=true" -q)라는 명령어를 통해 none type을 지울 수 있다.
-> Docker를 통한 flask 실행
-> 서버 연결이 거부되어 명령이 실패했다. 호스트의 포트를 5000에 매핑 해야 한다.
-> curl이라는 http 메시지를 요청하여 결과를 확인할 수 있다. $ curl <AWS의 Public IP>
*본 내용은 코멘토 직무 부트 캠프를 진행하면서 공부, 혹은 배용 내용들을 정리한 글입니다.
(AWS 해커톤 우승자 출신 글로벌 엔지니어와 클라우드 직무 A to Z)
728x90
반응형
'Work > Cloud_Devops' 카테고리의 다른 글
Cloud Study - DevOps (0) | 2021.03.19 |
---|---|
Cloud Study - Docker, mysql (0) | 2021.03.17 |
Cloud Study - Docker (0) | 2021.03.15 |
Cloud Study - AWS EC2 설치, Ubuntu (0) | 2021.03.15 |
Cloud Study - 비용 알람 (0) | 2021.03.15 |