아무나 빌려가세요

docker + flask + apache 를 이용한 앱 배포 (1) 본문

오늘 배운 프로그래밍

docker + flask + apache 를 이용한 앱 배포 (1)

빌라노바 2023. 12. 21. 17:38

파이썬으로 만든 웹앱을 배포해야 되는 일이 생기면서 기존의 웹서버에 파이썬을 설치하기 보단 docker를 이용하는 방법을 선택했다.

이유는 회사에서 운영중인 서버였기 때문에 기존의 파이썬을 어떻게 사용하는지 알 수 있는 방법이 없었다. 그래서 서버에 설치된 파이썬을 건드리지 않고 앱을 배포하고 싶었다.

클라우드서버는 centos7을 사용하고 있고 아파치는 기존에 배포된 앱이 있기 때문에 세부적인 설정은 이글에 빠져있다.

  1. 도커 설치

도커 공식홈페이지에서 RedHat 계열의 centOS에 설치하는 방법이 나와있다.

https://docs.docker.com/engine/install/centos/

[Install Docker Engine on CentOS

Learn how to install Docker Engine on CentOS. These instructions cover the different installation methods, how to uninstall, and next steps.

docs.docker.com](https://docs.docker.com/engine/install/centos/)

  1. 파이썬 이미지 생성
  • docker이미지를 생성할 디렉토리를 만든다. 이 디렉토리에는 여러가지 파일을 생성할 것이다.
  • Flask앱은 단순히 로컬로 실행한다고 해서 아파치와 바로 연결할 수 없다.
  • 아파치와 연결하기 위해선 uwsgi로 파이썬을 대신 실행해야 한다.
  • 총 필요한 파일은 4가지다.
    • DockerFile : 이미지를 생성하는데 필요한 파일과 docker이미지를 설정하는 파일이다.
    • requirements.txt : 설치할 패키지를 관리하는 text파일이다.
    • main.py : 배포할 파이썬 파일이다.
    • uwsgi.ini : 아파치 연결에 필요한 uwsgi 설정파일이다.

다음장에선 각 파일의 내용을 소개하겠다.