본문 바로가기
이것저것구축하기/Docker이용하기

VS Code로 Docker에 실행중인 Python개발환경 연동하기

by 곰네Zip 2022. 6. 30.

현재 노트북에 Docker Desktop (for Windows)를 설치하여 실행중이다.

Docker desktop이 설치되어있고, VS Code가 설치되어있으면.. VS code에서 docker에 파이썬 개발환경을 올려서 개발할 수 있게 해준다!!! (개인적으로 프로젝트 별로 별도의 가상환경을 만들어서 각각 개발환경을 구축하는 걸 선호하는 나는 좋다 이런거)

 

필요한거 순서대로 정리하자.

나는 https://docs.microsoft.com/ko-kr/learn/modules/use-docker-container-dev-env-vs-code/1-introduction  여기를 참고하여 작업했습니다. 설명 친절해요.

 

1. Docker Desktop 설치 

  이건 'https://docs.docker.com/desktop/windows/install/'참조. 아니면 구글에서 검색해도 됨

 

2. VSCode 설치

 이것도 https://code.visualstudio.com/download 에서 다운받아서 설치.

 

3. 파이썬 소스 폴더 만들기

이 과정 중 github에서 따로 프로젝트 소스 받으라고 되어있는데 만약 개인이 따로 파이썬 프로젝트 소스 받아놓은것이 있으면 skip하고, 새로 만들거면 소스 관리하는 폴더에 하나 신규 폴더 만들어두면 된다. 딱히, 따로 다운받을 필요는 없다.

 

4. VS Code를 실행하자. 여기에서 필요한 extension (MS 메뉴얼에서는 한글로 '확장'이라고 칭한다. 여기서 쓰일 'Remote - containers' extension일 경우 'Remote - Containers 확장설치' 이렇게...) 을 설치한다.

 extension설치는 좌측 메뉴바를 보면 네모난 박스 쌓는(...)게 있다. 거길 누르면 extension검색하는 패널이 표시된다. 여기에서 'remote - container' (remote만 입력해도 나타남)를 누르면 해당 extension이 검색된다. 검색된 extension을 'install'을 눌러 설치하면 준비 된거다.

 

 5. Container configuration

  Ctrl + K Ctrl + O (컨트롤 누른채로 K, O)를 눌러 파이썬 프로젝트 폴더를 연다. 그리고 F1 키를 눌러 창이 뜨면, 'Add dev container'를 입력한다. 그러면 아래와 같이 메뉴 하나가 보인다.

F1키를 누른 후 add dev container입력

 그걸 누르면.. Add developer container configuration files 창이 뜬다. 여기서 먼저 'Show All Definitions'를 선택

 그리고 나면 다음 step으로 넘어가는데 여기서 'Python'을 입력하여 Python 3을 선택.

  그리고 나서 버전은 최신버전 선택. (원하는 버전 있으면 해당 버전으로..) 그리고나서 node.js버전을 선택하라는데, 나는 node.js를 쓰지 않으므로.. 우선은 none으로 선택

 그리고나서 마지막으로, 추가로 설치할 feature가 있으면 선택하면 된다. 난 추가 선택할거 없으므로 그냥 'OK'

 그러고 나면 .devcontainer에 devcontainer.json, Dockerfile이 생성된다.

좌측 하단의 녹색 영역을 보면 그냥 >< 만 표시되어있다. 아직 container가 없어서 그런듯..

 

6. 컨테이너에서 프로젝트 다시 열기

 F1을 눌러 창이 뜨면 'open folder in container'를 선택한다.

그러면 폴더를 선택하는 창이 뜨는데, 원하는 프로젝트 폴더 선택 후 'Open'을 누를 것. 그러면 docker에서 이미지 다운받고 (이미 만들어두었으면 또 받지는 않는다.) docker container가 추가된다. 그러면 로컬에서 docker의 환경을 이용하여 파이썬을 개발할 수 있다.

 

 근데, 저 환경 구성하는거 보면.. 다른것도 가능할것 같다. 천천히 좀 더 파봐야지.

 

반응형

댓글