🕘

Dockerfileとdocker-compseを使ってanaconda3環境構築

2022/11/12に公開

いろいろ調べてやってみたけどうまいこと動いてくれなかったのでまた使うときのために。

1.Dockerfile、docker-compose.ymlを作る。

※拡張子なしでDockerfileという名前でファイルを作る。
ベースはcontinuumio/anaconda3を使う。
RUNは、continuumio/anaconda3の中に入ってない使いたいライブラリをインスコする。
したのはjupyterlabの設定(多分)

Dockerfile
FROM continuumio/anaconda3

RUN apt-get update && \
    apt-get install -y fonts-takao-gothic graphviz
ENV TZ=Asia/Tokyo
ENV TERM xterm    
RUN apt -y install nodejs npm

RUN pip install --upgrade pip && \
    pip install japanize_matplotlib &&\
    pip install graphviz pydotplus  #好きなの入れる。


RUN conda install pandas-profiling &&\
    conda install scikit-learn && \
    conda install -c conda-forge xgboost && \
    conda install -c conda-forge lightgbm && \
    conda install jupyter -y --quiet && \   
    mkdir -p /notebooks           #好きなの入れる。

WORKDIR /notebooks

docker-compose.yml
version: "3"
services:
  jupyter:
    build: .
    container_name: "hogehoge" #コンテナの名前を決める
    command:
     jupyter-lab --ip 0.0.0.0 --port=8888 --allow-root --no-browser --NotebookApp.token=''
    ports:
      - "8888:8888"
    working_dir: '/notebooks'
    tty: true
    volumes:
      - ./notebooks:/notebooks

これを適当なフォルダに入れておく。

2.anaconda3をいれる

docker hubからpullしてくる

docker pull continuumio/anaconda3

3.動かす

これで動かしてhttp://localhost:8888/lab にアクセスするとjupyterlabが表示される.
vscodeは(dev containersかな)拡張機能を入れて左下からattach to running containerでできた。vscodeでnotebooksフォルダを開くときフォルダを開くを押して検索窓に/を入れるとnotebooksが表示される。

docker compose up

まとめ

調べるといろんなやり方があり頭がこんがらがった。とりあえずこれが自分の妥協できるやりかたかな。また違った簡単なやり方を知りたい。。

参考

https://hub.docker.com/r/continuumio/anaconda3
https://qiita.com/komiya_____/items/96c14485eb035701e218#-p-80808888
https://kuma-emon.com/it/pc/1842/
https://qiita.com/plumfield56/items/335cad3b58afe55f6529
https://qiita.com/ku_a_i/items/8c7d91f6e13a5091f51c

Discussion