[DOCKER] 파이썬 3 + Anaconda (개발 환경 구축 -파이썬을 이용한 머신러닝, 딥러닝 실전 개발을 위한)

2018. 3. 17. 17:05Information Technology/Infra

파이썬 3 + Anaconda 라이브러리(계산과 관련 다양한 패키지 제공)를 Docker 위에서 작동 할 수 있게 해보겠습니다.

 

우선 도커(Docker)를 기존에 설치 하지 않으셨으면 아래를 참고하셔서 설치하시기 바랍니다. [DOCKER] 도커 설치

 

 

 

[파이썬 + Anaconda 이미지 다운로드]

 

1. 도커를 실행시킵니다.

 

 

2. [Window] + [R] > 'powershell' 실행

 

 

3. 아래의 명령을 입력하여 Anaconda의 최소패키지를 설치합니다. (miniconda 라는 의미가 최소 패키지 의미)

 

 
 
docker pull continuumio/miniconda3

 

 

4. 다운로드가 완료되면 아래의 명령어로 Docker 컨테이너를 사용할 수 있습니다.

 

 
docker run -i -t continuumio/miniconda3 /bin/bash

 

 

 

5. 콘솔창으로 변경이 되면 아래 명령을 입력해서 동작이 잘 되는지 확인 합니다.

 

 

 
 
python3 -c "print(3*5)"

 

 

 

6. 결과 값이 잘 나왔다면 정상적으로 설치 된 것 입니다. exit를 입력하고 컨테이너를 종료합니다.

 

 

 

exit

 

 

[컨테이너 상태 저장하기]

 

1. Anaconda 컨테이너를 실행합니다.

 

 
docker run -i -t continuumio/miniconda3 /bin/bash

 

 

2. 그리고 exit로 종료하고 나온 뒤 아래의 명령어를 입력합니다.

 

 
 
docker ps -a

 

 

 

 

여기서 중요한 것은 "CONTAINER ID" 라는정보입니다. 이 ID(83275b03ce5a) 정보를 사용하여 컨테이너를 저장할 수 있습니다. 

 

 

3. 그럼 이 컨테이너 ID(83275b03ce5a)를 활용하여 컨테이너를 저장해 보겠습니다. 아래의 명령어를 실행 하면 컨테이너 이미지를 저장할 수 있습니다.

 

 

 
 
docker commit 83275b03ce5a mlearn:init

 
 
docker commit <컨테이너ID> <리포지토리 이름>:<태그 이름>

 

mlearn : 리포지토리 이름

init : 태그 이름

 

4. 이미지가 제대로 생성 됐는지 확인 합니다. 아래의 명령어를 입력합니다.

 

 

 

 
 
docker images

 

 

REPOSITORY : mlearn, TAG : init 이라는 이미지가 생성 된 것을 확인 할 수 있습니다.

 

5. 이 이미지를 사용하여 컨테이너를 실행해보겠습니다. 아래의 명령어를 실행합니다.

 


 
docker run -i -t mlean:init /bin/bash

 

 

6. 해당 컨테이너에 어떤 변경을 추가해도 다시 이미지로 저장 할 수 있습니다.

 

 

[컨테이너 다시 시작하기]

 

TIP. [Ctrl] + [P], [Q] : 컨테이너에서 일시적으로 나올 수 있습니다. (컨테이너 프로세스를 종료하지 않고)

 

1. 컨테이너를 일시적으로 나온 후에 아래 명령어를 입력합니다.

 

 
 
docker ps

 

 

 

 

2. 현재 실행되고 있는 컨테이너를 확인 할 수 있습니다.

 

 

3. 다시 콘솔로 들어가기 위해서는 아래의 attach 명령어를 이용합니다.


 
 
docker attach ea186ca048c7
 

 

 

 

4. 그리고 exit로 중지한 컨테이너를 실행할 때는 start 를 사용합니다.

 

 

 

[호스트 OS의 홈 폴더 마운트 하기]

 

현재 coninuumio/miniconda3 이미지는 최소한의 파이썬 실행 환경만 설치돼 있습니다. 그래서 이 이미지 위에 Text Editor 등의 개발 도구를 설치 해야합니다. 

 

1. 텍스트 에디터를 사용하기 위해 호스트 OS의 폴더를 컨테이너에 마운트 해보겠습니다. 여기서는 윈도우 사용자를 기준으로 합니다 (Mac OS는 "Users/<사용자 이름>")

 

 
1
2
docker run -i -t -v <호스트 경로>:<컨테이너 경로>
docker run -i -t -v C:\Users\JihyunJeong mlearn:init /bin/bash

 

 

 

 

이상 파이썬 3 + Anaconda 라이브러리(계산과 관련 다양한 패키지 제공)를 Docker 위에서 작동 할 수 있게 해보았습니다.

 

 

 

 

 

 

"나머지 인생을 설탕물이나 팔면서 보내고 싶습니까, 아니면 세상을 바꿔놓을 기회를 갖고 싶습니까?"

Do you want to spend the rest of your life selling sugared water or do you want a chance to change the world?