目的
通常Jupyter LabをDockerで使う場合,Docker HubにあるJupyterが提供するDockerイメージを使えば良い.しかし,Dockerイメージがamd64版しかなく,M1 Macでもamd64版を動かすことになる.せっかくM1なのにamd64版を動かすのも面白くないので,arm64で動かしたい.
解決法
次のDocker fileを使えば arm64のJupyterを動かせる.
FROM python:3-slim
RUN apt-get -y update &&apt-get -y upgrade
RUN apt install build-essential -y
RUN pip install -U pip
RUN pip install numpy scikit-learn scipy matplotlib networkx ipython torch torchvision jupyterlab
RUN apt remove build-essential -y
RUN mkdir /opt/work
実行コマンドは次の通りである.
docker build -t タグ名 -f Dockerファイル ディレクトリ
docker run -i -t -p 8888:8888 -v $(pwd):/opt/work タグ名 /bin/bash -c "jupyter lab --notebook-dir=/opt/work --ip='*' --port=8888 --no-browser --allow-root"
実行するとURLが出てくるので,それをブラウザに打ち込めば動く.このコマンドはDocker Hubのanaconda3のページを参考にした.
備考
- Jupyter Labをインストールするためにbuild-essentialが必要だった.
- anaconda3でもarm版のJupyterが動くが,容量が大きいので使わなかった.
- Visual Studio CodeのRemote - Containersを使えばvscodeの機能を使いながらJupyterを動かせる.