目的
dockerを使って、ローカル環境を極力汚さずに分析できる環境を作る。
コンテナの作成
FROM jupyter/datascience-notebook
USER root
# 追加ライブラリをインストール
RUN pip install --upgrade pip && \
pip install --no-cache-dir \
torch \
torch-geometric \
gpy \
gpyopt \
streamlit \
plotly
CMD /bin/bash
docker-compose.yml
version: "3"
services:
datascience-notebook:
container_name: container-pyai
build: .
volumes:
- ./work:/home/jovyan/work
ports:
- 9999:8888
restart: always
command: start-notebook.sh
作業ディレクトリ直下の/work
ディレクトリをコンテナ内の/home/jovyan/work
と共有している。
docker-compose up -d --build
でビルド&起動。
使用方法
3つの使い方が可能。
-
JUPYTERLABで実行する場合
docker logs pyai-container
コマンドでトークン名を確認する。
http://localhost:9999/lab?token={トークン名}
にブラウザからアクセス。 -
VSCodeのJUPYTER NOTEBOOKで実行する場合
ctrl+shift+pより'specify jupyter server for connection'を開く。
existingにhttp://localhost:9999/lab?token={トークン名}
を入力。
インタプリタをコンテナ内部のpython(/opt/conda/bin/python)に変更しておく。 -
コンテナにアタッチして実行する場合
remote developmentを用いて、作成したコンテナにアタッチする。
.ipynbだけでなく、.pyファイルをデバッグすることも可能。