
Docker
이전 글 에서 Docker image 내의 인터프리터를 remote interpreter로 사용하는 법을 정리했었다. 단순하게 실행할 수 있는 코드라면 이전과 같은 방법으로 실행해도 무관하지만 fastapi를 사용할 때는 reload나 port binding이 제대로 되지 않는 문제가 발생했다.
해결책은 간단했다. port binding과 mount binding을 하고 container로 코드를 실행해주면 됐다.
Run/Debug Configurations에서 좌측 상단의 +를 클릭하여 Add New Configuration이 뜨게한다. Docker tab에는 Docker image, Docker compose, Dockerfile 등이 있는데 나는 ker image를 기반으로 실행했다.

이제 나머지 정보들을 채우면 된다. Image ID로 사용할 Image를 설정하고, Container name을 추가한다. FastAPI로 띄운 웹에 접속하기 위해서 Port Binding을 해주고, 실시간으로 변경되는 코드를 반영하기 위해 mount도 해준다.

이제 shift+F10을 통해 이미지를 실행하면 코드를 VSCode에서 remote-attatch container 한 것처럼 container 내에 코드를 작성하거나 실행할 수 있다.