普段はJupyter Notebookを使っているが、JupyterLabというJupyterプロジェクトの次世代UIがあるので、試しに使ってみることにした。インストールしてもいいのだが、最近はDockerが便利なので、DockerコンテナでJupyterLabを使う環境を作成してみる。
Docker Desktop(Windows10 Pro)。
まずはベースとなるDockerイメージを選ぶ。Jupyterプロジェクトによるイメージ(Selecting an Image)もあるのだが、今回はAnaconaのイメージ(continuumio/anaconda3)を使う。このイメージにはPandasなどデータ分析に必要なライブラリだけでなくJupyterLabもインストールされている。
Docker Hubにあるイメージはそのままでも起動できるが、いくつか手を加えたいのでDockerfileを用意する。日本語フォントのインストールと、タイムゾーン、ロケールの設定を行う。
docker-composeでコンテナを起動するためにdocker-compose.ymlを用意する。Dockerfileでイメージをビルドするようにし、コンテナのポート8888をホスト側の8888で使えるようにする。また、ホスト(Windows)のd:\workをコンテナからマウントして、ここでファイルなどを共有できるようにしておく。
作成したDockerfileとdocker-compose.ymlを同じフォルダに置いて、docker-composeコマンドでコンテナを起動する。
コンテナの確認
ホストでブラウザからlocalhost:8888にアクセスするとJupyterLabのログイン画面が表示される。Dockerfileで指定したトークンでログインできる。
ロケールもちゃんと変更されている。
環境
Docker Desktop(Windows10 Pro)。
Dockerイメージ
まずはベースとなるDockerイメージを選ぶ。Jupyterプロジェクトによるイメージ(Selecting an Image)もあるのだが、今回はAnaconaのイメージ(continuumio/anaconda3)を使う。このイメージにはPandasなどデータ分析に必要なライブラリだけでなくJupyterLabもインストールされている。
イメージのカスタマイズ
Docker Hubにあるイメージはそのままでも起動できるが、いくつか手を加えたいのでDockerfileを用意する。日本語フォントのインストールと、タイムゾーン、ロケールの設定を行う。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | FROM continuumio / anaconda3:latest # 作業ディレクトリの作成 WORKDIR / work # ロケールと日本語フォントのインストール RUN apt update \ && apt - y install - - no - install - recommends \ locales fonts - takao \ && sed - i - e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' / etc / locale.gen \ && locale - gen \ && apt clean \ && fc - cache - fv # タイムゾーンとロケールの設定 ENV TZ = "Asia/Tokyo" \ LANG = "ja_JP.UTF-8" \ LANGUAGE = "ja_JP:ja" \ LC_ALL = "ja_JP.UTF-8" EXPOSE 8888 # JupyterLabの起動 # --NotebookApp.tokenでトークン(jupyter)を指定 # 起動時のディレクトリを/workに設定 ENTRYPOINT [ "jupyter-lab" , "--ip=0.0.0.0" , "--port=8888" , "--no-browser" , "--allow-root" , "--NotebookApp.token='jupyter'" , "--notebook-dir=/work" ] |
docker-compose.ymlの用意
docker-composeでコンテナを起動するためにdocker-compose.ymlを用意する。Dockerfileでイメージをビルドするようにし、コンテナのポート8888をホスト側の8888で使えるようにする。また、ホスト(Windows)のd:\workをコンテナからマウントして、ここでファイルなどを共有できるようにしておく。
1 2 3 4 5 6 7 8 9 10 11 12 | version: "3" services: jupyter: build: context: . dockerfile: Dockerfile container_name: jupyter volumes: # ホストのd:\workをコンテナの/workにマウント - d:\work: / work ports: - 8888 : 8888 |
コンテナの起動
作成したDockerfileとdocker-compose.ymlを同じフォルダに置いて、docker-composeコマンドでコンテナを起動する。
コンテナの確認
ホストでブラウザからlocalhost:8888にアクセスするとJupyterLabのログイン画面が表示される。Dockerfileで指定したトークンでログインできる。

ロケールもちゃんと変更されている。
0 件のコメント:
コメントを投稿