권장사항: NSDT 장면 편집기를 사용하여 3D 애플리케이션 장면을 빠르게 구축하세요.
데이터 과학을 위해 Docker를 선택하는 이유는 무엇입니까?
데이터 과학자로서 표준화된 휴대용 분석 및 모델링 환경을 갖추는 것이 중요합니다. Docker는 재사용 및 공유가 가능한 데이터 과학 환경을 만드는 훌륭한 방법을 제공합니다. 이 문서에서는 Docker를 사용하여 기본 데이터 과학 환경을 설정하는 단계를 안내합니다.
Docker 사용을 고려하는 이유는 무엇입니까? Docker를 사용하면 데이터 과학자가 작업을 위해 격리되고 재현 가능한 환경을 만들 수 있습니다. Docker 사용의 주요 이점은 다음과 같습니다.
- 일관성 - 동일한 환경이 다른 컴퓨터에 복제될 수 있습니다. 더 이상 "내 컴퓨터에서는 작동합니다"라는 질문이 없습니다.
- 이식성 - Docker 환경은 여러 플랫폼에서 쉽게 공유하고 배포할 수 있습니다.
- 격리 - 컨테이너는 다양한 프로젝트에 필요한 종속성과 라이브러리를 격리합니다. 더 이상 갈등은 없습니다!
- 확장성 - Docker 내부에 구축된 애플리케이션은 더 많은 컨테이너를 실행하여 쉽게 확장할 수 있습니다.
- 협업 - Docker는 팀이 개발 환경을 공유할 수 있도록 하여 협업을 가능하게 합니다.
1단계: Dockerfile 만들기
모든 Docker 환경의 시작점은 Dockerfile입니다. 이 텍스트 파일에는 Docker 이미지를 빌드하기 위한 지침이 포함되어 있습니다.
Python 데이터 과학 환경을 위한 기본 Dockerfile을 만들고 확장자 없이 "Dockerfile"로 저장해 보겠습니다.
# Use official Python image
FROM python:3.9-slim-buster
# Set environment variable
ENV PYTHONUNBUFFERED 1
# Install Python libraries
RUN pip install numpy pandas matplotlib scikit-learn jupyter
# Run Jupyter by default
CMD ["jupyter", "lab", "--ip='0.0.0.0'", "--allow-root"]
이 Dockerfile은 공식 Python 이미지를 사용하고 여기에 널리 사용되는 일부 데이터 과학 라이브러리를 설치합니다. 마지막 줄은 컨테이너를 시작할 때 Jupyter Lab을 실행하는 기본 명령을 정의합니다.
2단계: Docker 이미지 빌드
이제 다음 명령을 사용하여 이미지를 빌드할 수 있습니다.docker build
docker build -t ds-python .
그러면 Dockerfile을 기반으로 태그가 지정된 이미지가 생성됩니다.ds-python
모든 종속 항목이 설치되므로 이미지를 빌드하는 데 몇 분 정도 걸릴 수 있습니다. 완료되면 .docker images
3단계: 컨테이너 실행
이미지가 빌드되면 이제 컨테이너를 시작할 수 있습니다.
docker run -p 8888:8888 ds-python
그러면 Jupyter Lab 인스턴스가 시작되고 호스트의 포트 8888이 컨테이너의 8888에 매핑됩니다.
이제 브라우저에서 Jupyter로 이동하여 노트북 실행을 시작할 수 있습니다!localhost:8888
4단계: 이미지 공유 및 배포
Docker의 주요 장점은 여러 환경에서 이미지를 공유하고 배포할 수 있다는 것입니다.
이미지를 tar 아카이브에 저장하려면 다음을 실행하세요.
docker save -o ds-python.tar ds-python
이 tarball은 다음을 통해 Docker가 설치된 다른 시스템에 로드될 수 있습니다.
docker load -i ds-python.tar
또한 Docker Hub와 같은 Docker 레지스트리에 이미지를 푸시하여 조직 내에서 공개적으로 또는 비공개로 다른 사람들과 공유할 수도 있습니다.
Docker Hub에 이미지를 푸시하려면 다음 안내를 따르세요.
- Docker Hub 계정 만들기(아직 없는 경우)
- 다음을 사용하여 명령줄에서 Docker Hub에 로그인합니다.
docker login
- Docker Hub 사용자 이름으로 이미지에 태그를 지정합니다.
docker tag ds-python yourusername/ds-python
- 푸시 이미지:
docker push yourusername/ds-python
이제 이미지가 Docker Hub에서 호스팅됩니다. 다른 사용자는 다음을 실행하여 이미지를 가져올 수 있습니다.ds-python
docker pull yourusername/ds-python
프라이빗 리포지토리의 경우 조직을 생성하고 사용자를 추가할 수 있습니다. 이를 통해 팀 전체에서 Docker 이미지를 안전하게 공유할 수 있습니다.
5단계: 이미지 로드 및 실행
다른 시스템에서 Docker 이미지를 로드하고 실행하려면 다음 안내를 따르세요.
- 파일을 새 시스템에 복사
ds-python.tar
- 다음을 사용하여 이미지를 로드합니다.
docker load -i ds-python.tar
- 다음으로 컨테이너를 시작하세요.
docker run -p 8888:8888 ds-python
- Jupyter 연구소 방문
localhost:8888
그게 다야! 이제 ds-python 이미지를 새 시스템에서 사용할 준비가 되었습니다.
발문
이를 통해 Docker를 사용하여 재현 가능한 데이터 과학 환경을 빠르게 설정할 수 있습니다. 고려해야 할 다른 모범 사례는 다음과 같습니다.
- 이미지 크기를 최적화하려면 Python slim과 같은 더 작은 기본 이미지를 사용하세요.
- Docker 볼륨을 통한 데이터 지속성 및 공유
- 컨테이너를 루트로 실행하지 않는 등의 보안 원칙을 따르세요.
- Docker Compose를 사용하여 다중 컨테이너 애플리케이션 정의 및 실행
이 소개가 도움이 되었기를 바랍니다. Docker는 데이터 과학 워크플로를 단순화하고 확장할 수 있는 다양한 가능성을 제공합니다.