-
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
초보를 위한 도커 안내서 - 설치하고 컨테이너 실행하기
초보를 위한 도커 안내서 2번째 글입니다. 도커의 기본적인 내용을 이야기 했던 첫번째 글에 이어 실제로 도커를 설치하고 컨테이너를 실행하면서 도커 명령어를 알아봅니다. 도커를 처음 접하는 분들을 위해 아주 가볍게 자주 쓰는 명령어를 다루었습니다.
subicura.com
https://subicura.com/2017/02/10/docker-guide-for-beginners-create-image-and-deploy.html
초보를 위한 도커 안내서 - 이미지 만들고 배포하기
이 글은 초보를 위한 도커 안내서 - 설치부터 배포까지 시리즈의 마지막 글입니다. 지난 글에서 도커를 설치하고 컨테이너를 실행해 보았으니 이번엔 이미지를 만들고 서버에 배포해보도록 하겠습니다.
subicura.com
이 두 글을 읽고 예제를 클리어하고 오자.
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