[Docker初心者]5分でPython環境を構築する
目的
手っ取り早くデータ分析ができるPythonが動く環境を構築する
手順
Docker Desktopをインストールする
Yaml(yml)ファイルを作成する
コンテナ作成時に特にライブラリをインポートしないときは
Dockerfile無しで、datascience-notebookをそのまま使う
#dockerfileは使わない
version: "3"
services:
datascience-notebook:
container_name: datascience-notebook-container
# scipy-notebookの場合はjupyter/scipy-notebookになります。
image: jupyter/datascience-notebook
# コンテナの/home/jobyan/workをホストの./workで永続化
volumes:
- C:\Users\うまぴょい\Work:/home/jovyan/work
ports:
- 8888:8888
restart: always
# 今回はローカル起動用なのでログインは省略します。
command: start.sh jupyter lab --NotebookApp.token=''
volumeサービスで、win上の\workをjupyterの/workにマウントさせている
のに留意(用語が合ってるか知らんけど)
docker-composeを起動する
コンソールからdocker-compose up
コンテナ作成時に、読み込むライブラリがある場合には
Dockerfileで指定する
#Dockerfile
FROM jupyter/datascience-notebook
RUN pip install pulp #みんな大好きpulpライブラリをインストールする
Yamlファイルにbuildサービスを追加する
buildサービスでDockerfileを指定する。以下はymlと同じディレクトリにDockerfileがあるので"."を指定している。
#Yamlファイル
version: "3"
services:
datascience-notebook:
container_name: datascience-notebook-container
# scipy-notebookの場合はjupyter/scipy-notebookになります。
#image: jupyter/datascience-notebook
#ビルドコマンドでdockerfileのディレクトリを指定
build: .
# コンテナの/home/jobyan/workをホストの./workで永続化
volumes:
- C:\Users\うまぴょい\Work:/home/jovyan/work
ports:
- 8888:8888
restart: always
# 今回はローカル起動用なのでログインは省略します。
command: start.sh jupyter lab --NotebookApp.token=''
同様に、docker-compose upでさくっと、Python(あとRとかJuliaとか)が使える環境が作れます。
参考にした記事