[PYTHON] Paramètres personnalisés pour Jupyter Lab lors de la création d'une image Docker

Jusqu'à présent, lors de la création d'un environnement d'analyse de données, j'avais l'habitude de créer un environnement virtuel avec Anaconda et de faire pip install. Cependant, dans ce cas, il peut ne pas être possible de créer le même environnement à moins que vous ne laissiez une note, j'ai donc récemment commencé à utiliser Docker.

Fondamentalement, l'environnement est construit en extrayant l'image docker du [Docker Hub] officiel de Jupyter (https://hub.docker.com/u/jupyter) et en ajoutant les images nécessaires. (Beaucoup de gens construisent le même environnement?) Ici, j'ai pensé que ce serait bien si vous pouviez également créer une touche de raccourci pour Jupyter Lab lors de la construction de l'environnement, je vais donc vous présenter comment écrire un Dockerfile à cette fin. Je ne connais toujours pas Docker, alors j'apprécierais que vous puissiez signaler des erreurs.

De plus, j'ai posté un Dockerfile, etc. sur GitHub pour une simple démo. Si vous avez déjà utilisé docker, vous pouvez facilement le trouver en lisant le Dockerfile.

Méthode de réglage

Première chose que j'ai essayé

Si vous créez simplement un conteneur à partir d'une image extraite de jupyter, il y a juste workspaces / sous ~ / .jupyter / lab /.

Donc, si vous écrivez les paramètres dans Settings-> Advanced Settings Editor-> Notebook-> User Preferences de l'interface graphique de Jupyter Lab sur le conteneur, ce sera nouveau sous ~ / .jupyter / lab / user-settings / @ jupyterlab / Vous pouvez voir que le répertoire et les fichiers sont créés. Donc, tout ce que vous avez à faire est de créer un nouveau répertoire similaire et de placer le fichier de configuration dans ce répertoire lorsque vous créez l'image docker.

Dockerfile Le Dockerfile peut être écrit comme suit. Si vous placez le fichier de paramètres dans le même répertoire que le Dockerfile, il vous suffit de le copier.

Dockerfile


# pull docker image
FROM jupyter/datascience-notebook

# make directory
RUN mkdir -p .jupyter/lab/user-settings/@jupyterlab/notebook-extension/ \
    && mkdir -p .jupyter/lab/user-settings/@jupyterlab/shortcuts-extension/

# copy setting files
COPY tracker.jupyterlab-settings .jupyter/lab/user-settings/@jupyterlab/notebook-extension/
COPY shortcuts.jupyterlab-settings .jupyter/lab/user-settings/@jupyterlab/shortcuts-extension/

...

Si vous créez une image Docker à partir de ce Dockerfile et créez un conteneur, vous pouvez voir Jupyter Lab avec les paramètres personnalisés déjà appliqués.

À propos du fichier de configuration

tracker.jupyterlab-setting est un paramètre pour afficher le nombre de lignes dans Notebook et a le contenu suivant.

tracker.jupyterlab-setting


{
    "codeCellConfig":{
        "lineNumbers": true,
    },
}

shortcuts.jupyterlab-settings définit les touches de raccourci pour déplacer les cellules de haut en bas. Pour les paramètres des touches de raccourci, reportez-vous à ici.

shortcuts.jupyterlab-settings


{
    "shortcuts": [
        {
            "command": "notebook:move-cell-up",
            "keys": [
                "Ctrl Shift K"
            ],
            "selector": ".jp-Notebook:focus"
        
        },
        {
            "command": "notebook:move-cell-down",
            "keys": [
                "Ctrl Shift J"
            ],
            "selector": ".jp-Notebook:focus"
        
        },
    ]
}

Recommended Posts

Paramètres personnalisés pour Jupyter Lab lors de la création d'une image Docker
Résumé de l'image Jupyter Docker
Rendre Jupyter Lab accessible à distance
Paramètres d'extrait de code pour le notebook jupyter python
Créer un environnement Jupyter Lab (Python) avec Docker
Extension Jupyter Notebook, paramètres nbextensions pour moi-même
Le paramètre d'environnement Python amateur (pour MAC) est en cours de création
Rendons le laboratoire Jupyter facile à utiliser
Création d'une commande de recherche personnalisée pour Splunk EventingCommand