[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とか)が使える環境が作れます。

  • 参考にした記事


この記事が気に入ったらサポートをしてみませんか?