Docker Image: 파이썬 기반 머신러닝 학습용 이미지
파이썬으로 데이터를 분석하고 머신러닝을 수행하기 위해서 필요한 환경을 Docker 이미지 ‘pyml‘을 만들어 운영하고 있습니다. 컴퓨터에 Docker가 설치되어 있다면 바로 Docker 이미지를 다운받아 사용할 수 있습니다.
‘pyml’ 더커 이미지는 주기적으로 업데이트되며 docker hub 레파지토리에서 운영됩니다.
이 문서에서는 ‘pyml’ 더커 이미지의 주요 정보와 설치 방법에 대한 최신 정보를 제공하겠습니다.
pyml Docker 최신 정보
pyml Docker 이미지 버전
pyml Docker 이미지 버전은 다음 URL의 Tags 페이지에서 확인 할 수 있습니다.
2018.10.07 현재 ‘pyml’ Docker 이미지의 최신 버전은 ‘0.1.10’ 입니다.
‘pyml’ Docker 이미지 환경
‘pyml’ 더커 이미지에는 다음과 같은 자바와 파이썬 환경이 설치되어 있습니다.
- Machine Learning 환경
- Java Version: Java 8 (8.181.13)
- Python Version: 3.6
- Python 라이브러리
- opencv-python: 3.4.2
- beautifulsoup4: 4.6.3
- notebook: 5.7.0
- numpy: 1.15.2
- pandas: 0.23.4
- scikit-learn: 0.20.0
- seaborn: 0.9.0
- bokeh: 0.13.0
- matplotlib: 3.0.0
- tensorflow: 1.11.0
- Keras: 2.2.4
- torch: 0.4.1
pyml 컨테이너 변경 관련 요약
주요 변경 로그
Date | Version | Desc |
---|---|---|
2018.10.06 | 0.1.10 | OpenCV 설치, Torchtext 추가 |
2018.08.30 | 0.1.08 | graphviz 추가 |
2018.08.06 | 0.1.07 | konlpy 추가, ubuntu 18.04 변경 |
2018.07.06 | 0.1.01 | 최초 배포 |
변경 관련 주요 문서
작성일 | 제목 |
---|---|
2017.10.07 | PYML: OpenCV 3.4.2 지원 |
2017.07.08 | Docker Image: 파이썬 기반 머신러닝 학습용 이미지 |
pyml 컨테이너 관리
현재 사용 중인 운영체제에 Docker가 설치되어 있다고 가정하고 이미지를 설치 실행 및 종료하는 방법을 소개합니다.
pyml 더커 이미지 설치
다음 명령으로 더커 컨테이너를 다운받고 실행할 수 있습니다. -v
옵션으로 로컬 컴퓨터의 디렉터리를 지정합니다. 앞에서 지정한 디렉터리는 ‘pyml’ 컨테이너의 /root/ipython
에 연결됩니다.
>docker run -itd -p 8888:8888 -p 6006:6006 \
-v /devspace/pytorch:/root/ipython \
--name pyml \
taewanme/pyml:latest
>0b5ee2af902ea823ff0372a9ccc0fbe194eb1c52152de14933da8bce0d0da241
docker run -idt
명령으로 데몬 형태로 더커 컨테이너를 실행합니다. -p
,
-v
,
--name
``` 옵션으로 포토 설정, 디텍러티 볼륨 마운트 및 컨테이너 명을 설정합니다.
옵션 | 옵션 설명 | 현제 설정값 | 설정값 섦명 |
---|---|---|---|
-p | 포트 설정, 호스트 컴퓨터 포트와 더커 컨테이너의 포트 포워드 설정 | -p 8888:8888 -p 6006:6006 |
호스트 8888 포트를 컨테이너 8888에 연결(jupyter 접속 용)호스트 6666 포트를 컨테이너 6666에 연결(tensorboard 접속 용) |
-v | 볼륨 설정, 호스트 컴퓨터 디텍터리를 더커 컨테이너에 마운트 | -v /devspace/pytorch:/root/ipython | 호스트 /devspace/pytorch를 컨테이너 /root/ipython에 마운트 |
–name | 컨테이너 이름 설정 | –name pyml | 컨테이너 명 pyml로 설정 |
컨테이너가 실행되면 다음 명령으로 컨테이너 실행 상태를 확인할 수 있습니다.
> docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0b5ee2af902e taewanme/pyml:latest "/bin/bash start-not…" 3 minutes ago Up 3 minutes 0.0.0.0:6006->6006/tcp, 0.0.0.0:8888->8888/tcp pyml
>
컨테이너의 jupyter 서비스 접속 및 활용
컨테이너가 실행되면 http://localhsot:8888
주소로 jupyter에 접속할 수 있습니다.
Jupyter에 접속하면 패스워드 요청 페이지가 오픈됩니다. 패스워드는 Welcome1
입니다.
패스워드를 입력하고 이동한 페이지에서 노트북을 만들고 파이썬 코드르 수행할 수 있습니다.
노크북을 만들면 다음과 같이 코드를 입력하고 수행할 수 있습니다.
컨테이너의 jupyter 종료
docker stop
명령으로 컨테이너를 종료하고, docker ps
명령으로 컨테이너 프로세스 상태를 확인할 수 있습니다.
> docker stop pyml
pyml
> docker ps -all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0b5ee2af902e taewanme/pyml:latest "/bin/bash start-not…" 32 minutes ago Exited (137) 11 seconds ago
>
pyml 컨테이너와 이미지 삭제
docker rm
명령으로 컨테이너를 삭제하고, docker container ls
명령으로 컨테이너 목록을 확인할 수 있습니다.
> docker rm pyml
pyml
> docker container ls -all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
>
docker rmi
명령으로 이미지를 삭제하고, docker images
명령으로 더커 이미지을 확인할 수 있습니다.
> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
taewanme/pyml latest 823a55c894d0 20 hours ago 2.88GB
> docker rmi taewanme/pyml:latest
Untagged: taewanme/pyml:latest
Untagged: taewanme/pyml@sha256:c02dc2009b3bc20cb952fa27bfde64acf200acca75c250da97593c8c2b0ba83e
Deleted: sha256:823a55c894d003b985736164a0e2753f3679c259f52031bc1fa0a33bf5bb204d
Deleted: sha256:6ebf9e6163e3da895248c340984846e5ddb6bcbd6f9e5372e88ec02ad5accd0f
Deleted: sha256:80dbc3fda391e5664252e36b0948c295bdcad68334c2fa92176dccfc5f0f32e0
Deleted: sha256:fe7d183b729bbc766f5803fd19e149db4f69bdc07d160d4b6ed2720dccb3ed4f
Deleted: sha256:66c8bb652e6f7b792aadba8b3e95ccf6f278be866a2a03bb8692733cd923fef2
Deleted: sha256:d17ccf6f6dcffee261a47dc6f363c4019024f075fdf442d32cae5bbf8f771d61
Deleted: sha256:9d27577fdbc5a9c7efc2a04f4537d9c001b719b06c557980019868b49457beda
Deleted: sha256:b6708b96d9c7e3a1422347357a97e15d0438db3fa05ce0fff4cb11ad50c1ea2b
Deleted: sha256:ef572e1ba2ecca900f0ec3db00e997de12dd380ce3e360b5813fd75920232359
Deleted: sha256:98fc4d5421178c7be7d5718d2d44abba8053dc5c712e51658fe5b872675b4f7a
Deleted: sha256:7b2cc05dfd889e28234f8831c80ac20cf299d5bbebbbac013f8f7d2b7abc0d65
Deleted: sha256:6b0187d1cdff63eb5966ac72bf4ccd96150586c1409eb858bb98783f02018ee7
Deleted: sha256:644879075e24394efef8a7dddefbc133aad42002df6223cacf98bd1e3d5ddde2
> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
>