티스토리 뷰
도커를 실행 시키고 외부의 IDE 개발툴에서 개발하고 소스와 실행은 도커에서 실행시켜보고 싶을 때 필요한 방법 중 하나로 Visual Studio Code의 강력한 원격 개발 확장 플러그인(Remote Development)을 사용하여 도커에 접속하여 개발하는 방법을 다루고자 한다.
Extension 설치(Remote Development)
다음 그림과 같이 마이크로 소프트에서 remote development로 검색하고 설치 버튼을 누르면 도커(컨테이너)에 원격 접속하는 기능 이외에 SSH로 접속하는 모듈까지 한꺼번에 설치할 수 있다.
도커 실행
도커로 필요한 컨테이너를 실행한다. 마침 pytorch를 공부하고 있던 참이므로 다음과 같이 입력하여 도커를 띄운다. 자신이 필요한 이미지 파일을 실행시키면 된다.
nvidia-docker run --rm -it -v $(pwd):/workspace pytorch/pytorch:1.1.0-cuda10.0-cudnn7.5-devel /bin/bash
Visual Studio Code 실행 후 도커 attach
커맨드라인을 입력하기 위해 Ctrl + Shift + p 를 누르고 remote- 를 입력하면 다음 그림과 같이 설치한 remote 개발 확장 명령이 나타나게 된다.
이미 실행되어 있는 컨테이너에 attach하는 방식으로 사용하기 위해 Remote-Containers: Attach to Running Container... 를 선택한다. 컨테이너 리스트가 나타나고 방금 실행 시켜둔 컨테이너가 리스트에 나타나면 선택한다.
다음 그림과 같이 하단에 attach한 컨테이너가 있음을 알 수 있다.
이제 해당 폴더를 열고 소스코드를 편집할 수 있게 되고 도커 터미널에서 해당 코드를 실행 시켜 볼 수 있다.
해당 도커에서 방금 작성한 예제 코드(test.py)를 터미널에서 실행 시킬 수 있다.
문제해결: Cannot read property 'local' of undefined
리눅스에서도 설치해보다가 extension 자체가 설치가 안되고 에러메시지를 다음과 같이 내는 경우가 있다.
Cannot read property 'local' of undefined
보통 extension이 설치되기 위해서 관련 폴더에 접근권한이 없어서 생기는 문제이다.
다음과 같이 해당 접근권한을 바꾸어 주면 된다.
$ sudo chown -R [your account] ~/.vscode
참고문헌
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack
https://stackoverflow.com/questions/55296580/vscode-cannot-read-property-local-of-undefined
'Programming > docker' 카테고리의 다른 글
도커에 아나콘다 설치하기 (0) | 2019.09.04 |
---|---|
Docker 컨테이너에서 GUI 앱 실행시키기 팁들 (0) | 2019.09.03 |
[tip] 도커에서 윈도우 결과 확인하려고 하는 세팅 (0) | 2019.05.21 |
nvidia docker 설치하기 (0) | 2019.04.15 |
도커허브에 컨테이너 이미지 저장하기(push) (0) | 2019.04.12 |
- Total
- Today
- Yesterday
- 한글
- fablab
- docker
- 단축키
- WSL
- Maker
- Streamlit
- Linux
- Fusion360
- ubuntu
- Python
- git
- ssh
- 메이커
- nvidia
- opencv
- cura
- Arduino
- vvvv
- MicroBit
- vscode
- tensorflow
- CAD
- 파이썬
- comfyUI
- 3d프린터
- nodejs
- Stable Diffusion
- 우분투
- conda
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |