아무나 빌려가세요

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

오늘 배운 프로그래밍

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

빌라노바 2023. 12. 22. 14:36

이번 게시글엔 배포하는 과정에서 골머리를 앓은 부분만 정리하여 적어보도록 하겠다.

  1. 파이썬 패키지에 uwsgi 설치가 불가능한경우
    처음 설치한 파이썬 패키지는 python:3.9-slim 이였다. 하지만 uwsgi를 설치하는 과정에서 계속 오류가 났다.
    검색결과 파이썬에 필요한 필수패키지가 없어 uwsgi를 설치할 수 없다는 메시지였고 기본 python 이미지를 설치하자 오류가 사라졌다.

  2. requirements.txt 설치에 오류가 생기는 경우
    잘못 설치된 컨테이너와 이미지를 지우고 재설치할때 패키지를 설치하는 과정에서 계속 네트워크 오류가 났다. 해결방법은 단순히 systemctl을 이용해 restart docker를 하면 해결된다. 그리고 이미지를 삭제하면 캐시가 남게 될경우 docker builder prune 명령어를 이용하여 캐시를 삭제한다.

  3. 이미 올라가있는 container에서 코드 수정이 필요할때
    작업중인 프로젝트 외부 api키가 등록되어 있는데 이 키를 중간에 교체 해야할 상황이 생겼다. 그때는 컨테이너 터미널에 직접들아가서 수정하면 삭제 재설치 과정이 필요없이 restart만 해주면 된다.

docker 컨테이너 터미널 작업은 아래 명령어로 실행된다.

docker exec [conatiner ID] [command]

여기서 터미널에 접속하는 방법은 아래와 같다

docker exec -it [container ID] /bin/bash

터미널에 접속하면 설치된 text editor가 없으므로 직접 설치를 해줘야 한다.
bash에 접속후 vim을 설치한다.


apt-get update
apt-get install vim

파일 수정후 exit 명령어를 실행하고 docekr container restart [container ID]를 실행하면 정상적으로 수정이 완료된다.