Comme le titre l'indique, il s'agit d'un journal de travail permettant d'installer et d'utiliser facilement Jupyter Notebook à l'aide de Docker. Rendre Scala également disponible sur le bloc-notes Jupyter.
On suppose que docker est déjà installé.
Préparez le fichier Dockerfile
suivant. Notez tous les packages Python que vous pourriez utiliser.
Dockerfile
FROM centos:7
RUN yum install -y python3 java-11-openjdk
RUN pip3 install jupyter jupyter-contrib-nbextensions jupyter_nbextensions_configurator numpy pandas matplotlib scikit-learn mlxtend boto3
RUN jupyter contrib nbextension install
# Jupyter-Installation de Scala
WORKDIR /install
ENV SCALA_VERSION=2.13.1
ENV ALMOND_VERSION=0.8.2
RUN curl -Lo coursier https://git.io/coursier-cli
RUN chmod +x coursier
RUN ./coursier bootstrap -r jitpack -i user -I user:sh.almond:scala-kernel-api_$SCALA_VERSION:$ALMOND_VERSION sh.almond:scala-kernel_$SCALA_VERSION:$ALMOND_VERSION -o almond
RUN ./almond --install
WORKDIR /work
CMD jupyter notebook --ip='*' --no-browser --allow-root --NotebookApp.token=''
Les packages Python jupyter-contrib-nbextensions
, jupyter_nbextensions_configurator
, et la suivante jupyter contrib nbextension install
sont pour l'utilisation de nbextensions.
Consultez la page officielle ci-dessous pour installer Jupyter-Scala. Installation · almond
L'option jupyter`` --allow-root
est une option requise pour exécuter Jupyter avec les privilèges root. Il est nécessaire car il s'agit de l'autorité racine dans Docker.
--ip = '*'
est un paramètre qui vous permet d'accéder à Jupyter de n'importe où. --NotebookApp.token = ''
est un paramètre pour ignorer l'entrée du jeton lors de l'accès à Jupyter avec un navigateur. J'exécute ceci sur Linux en cours d'exécution sur VirtualBox dans mon PC, donc je les ai définis pour plus de commodité, mais c'est un paramètre qui peut être librement accessible de l'extérieur, donc ce n'est généralement pas recommandé. pense.
Créez une image avec la commande suivante dans le répertoire contenant ce Dockerfile
.
$ docker build -t myjupyter .
Après avoir déplacé vers le répertoire dans lequel vous souhaitez travailler avec Jupyter, démarrez Jupyter avec la commande suivante.
$ docker run -it --rm -p 8888:8888 -v $HOME/.aws:/root/.aws -v $(pwd):/work myjupyter
-v $ HOME / .aws: / root / .aws
a été ajouté car je voulais accéder à l'API AWS en utilisant boto3.
Après avoir démarré Jupyter, accédez au port 8888 avec un navigateur.
Avec un Docker normal, le propriétaire du fichier créé par Jupyter sera root, donc Docker sans racine semble être meilleur.
Recommended Posts