본문 바로가기

docker5

Data Scientist를 위한 TOP 4 파이썬 가상환경 비교 어떤 파이썬 가상 환경이 나에게 알맞을까? 가상 환경은 신입 프로그래머들에게 비교적 이해하기 어려운 내용이다. 초짜 시절 가상 환경을 사용하면서 내가 이해한 것은 고작 MacOS나 Windows에서 내 환경이 존재하고 PyCharm을 사용하며, 실행하면 코드가 잘 실행된다는 것뿐이었다. 그러던 도중 데이터 과학이나 머신러닝 엔지니어로서의 경력을 쌓게 되면서, 파이썬 프로젝트 진행 간 눈물 나는 의존성 문제를 종종 겪었고, 아마추어로서 여러 가지 상황을 부닥치며 가상 환경에 대해 깊이 학습하게 되었다. 이런 잡다구리 한 것들을 알아내는데 생각보다 시간이 오래 걸렸다. 이러한 시행착오를 바탕으로 각각의 가상환경의 특성에 대해 조금이나마 이해하게 되었다. 이번 글에서는 가장 흔한 4가지 가상 환경과 언제/왜 .. 2020. 8. 18.
Docker (4) - 3줄로 간단히 머신러닝/딥러닝 환경 구축하기(docker kaggle image 설치/활용하기) 이번 글은 내가 도커를 학습한 이유이다. 환경이 바뀔 때마다 매번 ML/DL 환경을 구축하는 게 귀찮았고, 타 개발자들이랑 서버를 섞어 쓰다 보면 내 의지가 아니더라도 환경이 꼬이는 경우가 있다. 그런 상황들이 싫어서 docker를 활용하고자 했고, 예상보다 훨씬 간편하게 환경 구축을 할 수 있어서 놀랐다. 이번 글은 내가 진행한 3줄짜리 환경 구축과 간단한 활용까지 진행해 볼 예정이다. 개발환경 Docker가 설치된 리눅스 환경(설치가이드) 왜 Kaggle 이미지를 사용하는가? Kaggle-kernel 전용 대회에서 머신러닝을 진행하고 싶다면 단순히 이미지를 rebuild 함으로써 최신 상태로 유지할 수 있다. GPU 지원이 빵빵하다. XGBoost 등 유명 Boosting 계열의 패키지를 지원한다. .. 2020. 7. 20.
Docker (3) - 기본 명령어 Cheat sheet(설치/삭제/실행 등) 이제 설치를 완료했으니 기본 명령어를 익혀보자. 명령어는 이미지에 관한 명령어, 컨테이너에 관한 명령어 두 가지로 나누어 설명할 예정이다. 이미지와 컨테이너의 차이는 이미지가 실행되면 컨테이너가 된다고 보면 된다(정확한 건 아니지만 프로그램과 프로세스의 차이 정도로 이해하면 된다.) 자세한 내용은 아래 글을 참고하자. [DevOps/Docker] - Docker (1) - Docker란 무엇인가? 이미지 관련 명령어 이미지 목록 확인 sudo docker images 이미지 검색 처음에 굳이 검색할 필요가 있나?라고 생각을 했는데, 설치된 이미지가 아니라 docker hub에 공개된 이미지들을 검색하는 것이다. sudo docker search 이미지 받기 sudo docker pull 이미지 삭제 su.. 2020. 7. 20.
Docker (2) - Ubuntu에 Docker 설치하기 도커에 대한 대략적인 이해가 되었으니 이제 사용해보자. 이번 글에서는 사용을 위한 첫 시작. 설치를 해볼 예정이다. 나는 AWS EC2 AMI 중 하나인 딥러닝 ubuntu위에 설치했다. 당장에는 GPU를 사용할 일은 없지만 도커를 설치하고 kaggle gpu 이미지를 설치해서 간단한 머신러닝이 돌아가는지 확인해볼 예정이다. Ubuntu 요구 사항 확인 도커 엔진을 사용하기 위해선 아래 하나의 우분투 중 64bit 버전이 필요하다. Ubuntu Focal 20.04 (LTS) Ubuntu Eoan 19.10 Ubuntu Bionic 18.04 (LTS) Ubuntu Xenial 16.04 (LTS) 또한, x86_64(혹은 amd64), armhf, arm64 아키텍처에서 동작한다. 구버전 도커 지우기 .. 2020. 7. 20.
Docker (1) - 입문자를 위한 Docker란 무엇인가? 현업에서 개발하다 보면 동일 서버를 사용하는 개발자들 간에 버전 이슈가 생기기도 하고, 새로운 툴이나 기술들을 테스트할 때 관련 패키지들을 설치하느라 애를 먹기도 한다. 그럴 때마다 새로운 버전을 설치했다가 다른 테스트 후 기존 버전으로 돌아갈 수도 없고, 새로운 서버를 생성한다면 그 서버로 데이터를 이동하는데 비용이 들뿐 들어 새로운 서버 비용은 어떻게 감당하겠는가. 하여 이런 통합적인 솔루션을 제공하기 위해서 나온 솔루션이 docker이다. 이번 글에는 docker에 대한 간략한 설명을 하고자 한다. 사실 나도 도커가 있다는 것만 알았지 사용해본 적이 없다. docker관련 글을 쓰면서 docker를 쓰는 습관을 길러보자. Docker란 무엇인가? 도커(Docker)는 컨테이너를 이용하여 어플리케이션.. 2020. 7. 20.