-
Pycharm + Docker 이용하기개발 환경/Pycharm 2020. 2. 21. 20:05반응형
차근차근 모든 개발 프로젝트를 Docker 기반으로 넘어가고 있다. 그중 첫번째로 Python 프로젝트들을 넘겨볼까 한다.
0. 개발 환경
- MacOS
- Pycharm Professional
- Docker
Docker가 설치되어 있지 않고 Docker에 대한 이해가 부족하다면
https://subicura.com/2017/01/19/docker-guide-for-beginners-2.html
https://subicura.com/2017/02/10/docker-guide-for-beginners-create-image-and-deploy.html
이 두 글을 읽고 예제를 클리어하고 오자.
1. Python image pull
본인이 원하는 Python 버전의 image를 가져오면 되겠지만 나는 3.5 버젼의 파이썬 이미지를 사용하겠다. 그 이유는 삼성 SW Expert Academy의 파이썬 버젼이 pypy 3.5다.
docker pull python:3.5
이외 다른 tag는 https://hub.docker.com/_/python?tab=tags를 확인하자.
output:
3.5: Pulling from library/python dc65f448a2e2: Already exists 346ffb2b67d7: Already exists dea4ecac934f: Already exists 8ac92ddf84b3: Already exists a3ca60abc08a: Already exists c3b874b43f86: Pull complete f7fec24fc7ce: Pull complete e763153caaaf: Pull complete 4174bddb44bc: Pull complete Digest: sha256:24f39a9542911c29dc84b3c931b08735fb79562a8fbbc97339e41e4d5bb126f0 Status: Downloaded newer image for python:3.5 docker.io/library/python:3.5
확인
docker images
output:
REPOSITORY TAG IMAGE ID CREATED SIZE python 3.5 0eea9868d2d3 2 weeks ago 909MB
2. docker run with command
파이참으로 사용하기전에 터미널에서 명령어를 통해 사용해보자. 그래야 문제가 발생했을 때 docker 자체의 문제인지 파이참과 연동하는 과정에서 문제가 발생한건지 찾기 쉽다.
1. 이미지에서 터미널 키기
docker run -it python:3.5 /bin/bash
output:
root@a40af6ee4e1f:/#
터미널이 켜졌다.
2. 파이썬 켜보기
python
output:
Python 3.5.9 (default, Feb 2 2020, 10:14:19) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
python 3.5.9가 켜졌다. print("hello world")는 자유..
3. Local 디렉토리 마운트
파이썬 이미지가 정상적으로 작동하는 것을 확인했으니 로컬에 있는 py파일을 마운트해서 테스트해보자.
mkdir dockertest cd dockertest echo print\(\"hello docker\"\) > test.py python test.py
output:
hello docker
디렉토리를 하나 만들고 거기에 테스트 파일을 만들자.
docker run -it -v ~/dockertest:/opt/project python:3.5 /bin/bash
-v는 docker container에 로컬 디렉토리를 마운트하는 옵션이다. <local directory>:<container directory>
터미널이 켜졌으면
cd /opt/project ls
output:
test.py
실행해보자.
python test.py
output:
hello docker
Local에 그 파일이 맞다. 이제 docker 자체 테스트는 끝났다.
3. docker run with Pycharm
사실 파이참 프로페셔널은 정말 초강력 IDE라 상상할 수 있는 모든 기능들이 다 있다. Docker 역시 지원한다.
맥 기준 command + ,를 누르면 아래와 같이 설정화면으로 들어올 수 있다. Build, Execution, Deployment -> Docker를 누르면 아래와 같은 화면을 볼 수 있다. +를 눌러 이름을 설정하고 OK를 누른다.
다음으로 인터프리터 설정으로 와보면 그동안 사용하던 파이썬 시스템 인터프리터를 볼 수 있다.
여기서 톱니바퀴 모양을 누르고 Add를 누르면 아래와 같은 화면이 나온다. 여기서 방금 만든 Docker를 고르고 image도 아까 만든 python:3.5를 택한다. 계속 OK를 눌러 밖으로 나간다.
이제 돌리면 된다. 맥 기준 control + option + R.
output:
e725c392b019:python -u /opt/project/20200221_baekjoon/16236_baby_shark.py
log가 이렇게 시작하면 정상적으로 된 것이다. 위에서는 -v 옵션으로 설정해준 것이 파이참은 default로 <Project path>:/opt/project로 설정되어 있다. 이 또한 바꿀 수 있는데 https://hanseokhyeon.tistory.com/entry/Docker-Pytorch-GPU로-딥-러닝-개발하기를 참고하길..
4. 결론
이렇게 프로젝트마다 환경을 구축하는것이 바로 DevOps를 도입하는 것이다! 모든 프로젝트를 docker 기반으로 바꾸는 순간 맥에 python을 지울 예정이다. 물론 Library에 깔아놓은 그 파이썬.
반응형'개발 환경 > Pycharm' 카테고리의 다른 글
Pycharm에서 server의 docker 사용해서 디버깅하기 (무슨 말?) (0) 2020.09.03 Mac + Pycharm professional로 딥러닝 서버 Docker로 돌리기! (7) 2020.02.20 Pycharm SSH Terminal 연결하기 (0) 2020.01.21 Pycharm SSH로 로컬에서 서버 run하기 (0) 2020.01.21