課題
DockerコンテナからJupyter Labを起動する際に、自身の嗜好にあったカスタム設定が既に反映されていてほしい。
解決策
-
- カスタム設定を記述した.jupyterlab-settingsファイルを生成する。
- Dockerfile内でホストマシン上の.jupyterlab-settingsのパスをイメージのファイルシステム上のパスにCOPYする。
具体例
Monokai++を設定に反映する。
Monokai++の設定を書き込むファイル名を特定する。
.jupyterlab-settingsのを特定する。
適当にJupyter Labを起動し、上部メニューからSettings >>> Advanced Settings Editor >>> Themeを選択する。
System Defaultsの//Themeの下にある// @jupyterlab/apputils-extension:themesのthemesがにあたる。
themes.jupyter-lab-settingsを生成する。
Dockerfileが存在するパスと同じ場所に、themes.jupyter-lab-settingsというファイルを生成する。
themes.jupyter-lab-settingsに以下の内容を書き込む。
{
“theme”: “Monokai++”
}
Dockerfileを修正する。
Dockerfile内のJupyter Labや拡張機能をinstallした後に、以下の内容を書き込む。
# make directory
RUN mkdir -p /root/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/
# copy setting files
COPY themes.jupyterlab-settings /root/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/
コード自動整形がファイル保存と同時に行われるよう設定に反映したい。
コード自動整形の設定を書き込むファイル名を特定する。
.jupyterlab-settingsのを特定する。
適当にJupyter Labを起動し、上部メニューからSettings >>> Advanced Settings Editor >>> Jupyter Lab Code Formatterを選択する。
System Defaultsの//Jupyterlab Code Formatterの下にある// @ryantam626/jupyterlab_code_formatter:settingsのsettingsがにあたる。
settings.jupyter-lab-settingsを生成する。
Dockerfileが存在するパスと同じ場所に、settings.jupyter-lab-settingsというファイルを生成する。
settings.jupyter-lab-settingsに以下の内容を書き込む。
{
“formatOnSave”: true
}
Dockerfileを修正する。
Dockerfile内のJupyter Labや拡張機能をinstallした後に、以下の内容を書き込む。
# make directory
RUN mkdir -p /root/.jupyter/lab/user-settings/@ryantam626/jupyterlab_code_formatter/
# copy setting files
COPY settings.jupyterlab-settings /root/.jupyter/lab/user-settings/@ryantam626/jupyterlab_code_formatter/
左括弧を押下すると自動で右括弧で閉じられるよう設定に反映したい。
括弧の設定を書き込むファイル名を特定する。
.jupyterlab-settingsのを特定する。
適当にJupyter Labを起動し、上部メニューからSettings >>> Advanced Settings Editor >>> Notebookを選択する。
System Defaultsの//Notebookの下にある// @jupyterlab/notebook-extension:trackerのtrackerがにあたる。
tracker.jupyter-lab-settingsを生成する。
Dockerfileが存在するパスと同じ場所に、tracker.jupyter-lab-settingsというファイルを生成する。
tracker.jupyter-lab-settingsに以下の内容を書き込む。
{
“codeCellConfig”: {
“autoClosingBrackets”: true
}
}
Dockerfileを修正する。
Dockerfile内のJupyter Labや拡張機能をinstallした後に、以下の内容を書き込む。
# make directory
RUN mkdir -p /root/.jupyter/lab/user-settings/@jupyterlab/notebook-extension/
# copy setting files
COPY tracker.jupyterlab-settings /root/.jupyter/lab/user-settings/@jupyterlab/notebook-extension/
参考
-
- Dockerfile リファレンス – COPY
-
- Advanced Usage – JupyterLab User Settings Directory
- オレオレJupyterlab環境をDockerで作った – オレオレ設定にするには