Ecrire un fichier docker pour démarrer jupyter-lab sur ubuntu

introduction

J'ai suivi un cours de docker à udemy, je vais donc en résumer une partie sous forme de mémorandum. Cette fois, je voudrais écrire le code pour démarrer jupyter-lab basé sur ubuntu dans le fichier docker et créer réellement le conteneur.

Décrit dans dockerfile

dockerfile



# FROM =>Sélectionnez une image de base
FROM ubuntu:latest

# RUN =>Appeler une commande
# apt-Mettre à niveau obtenir et installer les packages requis
RUN apt-get update
RUN apt-get install -y \
    wget \ 
    vim

# WORKDIR =>Créez et déplacez un répertoire arbitraire directement sous la racine du côté du conteneur
WORKDIR /opt

#Installez anaconda3 et supprimez le fichier exécutable d'origine
# wget =>Téléchargez le fichier en spécifiant l'URL
# sh =>Exécuter un script shell
# -b =>Évitez les opérations interactives
#  -p =>Spécifiez la destination de l'installation
#  rm =>Supprimer le fichier spécifié
#  -f =>Exécuter de force
RUN wget https://repo.continuum.io/archive/Anaconda3-2019.10-Linux-x86_64.sh && \
    sh /opt/Anaconda3-2019.10-Linux-x86_64.sh -b -p /opt/anaconda3 && \
    rm -f Anaconda3-2019.10-Linux-x86_64.sh

#Passer par le CHEMIN d'anaconda3
#  ENV =>Modifier les variables d'environnement
ENV PATH /opt/anaconda3/bin:$PATH

#mise à niveau pip
RUN pip install --upgrade pip

#Retournez directement sous la racine
WORKDIR /

#Ouvrez le laboratoire Jupyter lors du démarrage du conteneur
#  CMD =>Spécifiez la commande à exécuter au démarrage du conteneur
#  "jupyter", "lab" =>Lancer le laboratoire Jupyter
#  "--ip=0.0.0.0" =>Supprimer les restrictions IP
#  "--allow-root" =>Autoriser l'utilisateur root, pas bon pour la sécurité
#  "LabApp.token=''" = >Il peut être démarré sans jeton. Pas bon pour la sécurité
CMD ["jupyter", "lab", "--ip=0.0.0.0", "--allow-root", "--LabApp.token=''"]

Construire l'image

Exécuter dans le répertoire où se trouve le Dockerfile


docker build -t my-anaconda .

-t Donnez à l'image que vous souhaitez créer le nom de votre choix.

. Le répertoire dans lequel se trouve le fichier docker est spécifié. Cette fois, spécifiez le répertoire actuel.

Démarrer le conteneur


docker run -it \
-p 8888:8888 \
--rm \
--name my-container(Tout)\
-v Desktop/ds_python:/opt \
my-anaconda

Voir ci-dessous pour cette partie [https://qiita.com/kajima/items/178611c4c405267271a6](https://qiita.com/kajima/items/178611c4c405267271a6)

Lorsque vous exécutez ce conteneur

I 11:42:41.250 LabApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
[W 11:42:41.535 LabApp] All authentication is disabled.  Anyone who can connect to this server will be able to run code.
[I 11:42:41.546 LabApp] JupyterLab extension loaded from /opt/anaconda3/lib/python3.7/site-packages/jupyterlab
[I 11:42:41.546 LabApp] JupyterLab application directory is /opt/anaconda3/share/jupyter/lab
[I 11:42:41.548 LabApp] Serving notebooks from local directory: /
[I 11:42:41.548 LabApp] The Jupyter Notebook is running at:
[I 11:42:41.548 LabApp] http://23a5a126fd40:8888/
[I 11:42:41.548 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 11:42:41.552 LabApp] No web browser found: could not locate runnable browser.

OK quand un tel écran apparaît

Après cela, entrez localhost: 8888 dans le navigateur Web et vérifiez-le.
スクリーンショット 2020-08-27 20.51.30.png
OK quand cela apparaît à l'écran

À la fin

Après cela, si vous voulez une bibliothèque ou un package dans anaconda, vous pouvez l'installer en écrivant RUN dans le fichier docker. Ensuite, je voudrais écrire un fichier docker pour le développement Web.

référence

https://qiita.com/komiya_____/items/96c14485eb035701e218 https://www.udemy.com/course/aidocker/learn/lecture/20311429#overview

Recommended Posts

Ecrire un fichier docker pour démarrer jupyter-lab sur ubuntu
[Basique] Comment écrire un auto-apprentissage Dockerfile ②
Comment créer un environnement Pytorch sur Ubuntu
Pour écrire un programme orienté utilisateur (1)
[Note] Flux de l'installation de docker au démarrage de JupyterLab sur ubuntu
J'ai créé un Dockerfile pour démarrer Glassfish 5 en utilisant Oracle Java
Comment utiliser les bio-formats sur Ubuntu 20.04
Créer un environnement XAMPP sur Ubuntu
Comment installer WildFly sur Ubuntu 18.04
Une note quand j'étais accro à la conversion d'Ubuntu sur WSL1 en WSL2
Je veux écrire un joli build.gradle
Étapes minimales pour configurer un environnement Ruby avec rbenv sur Ubuntu 20.04
[Introduction à Java] Comment écrire un programme Java
Je veux écrire un test unitaire!
Je souhaite installer PHP 7.2 sur Ubuntu 20.04.
[Ruby] Création d'un environnement de développement Ruby sur Ubuntu
Exemple pour démarrer Ubuntu avec le déploiement avec client-go
[SpringBoot] Comment écrire un test de contrôleur
Connectez-vous en série à Ubuntu sur Raspberry Pi
Rails: comment bien écrire une tâche de râteau
Deux façons de démarrer un thread en Java + @
[Rails] Comment écrire lors de la création d'une sous-requête
Comment installer les pilotes réseau sur Ubuntu autonome
Construire un cluster Hadoop (Cloudera Manager sur Ubuntu 18.04)
Écrire dans un fichier en utilisant ShiftJIS ・ Lire un fichier (Kotlin / JVM)
Je veux écrire une simple répétition d'une chaîne de caractères
Comment installer plusieurs JDK sur Ubuntu 18.04 LTS
Ripper un CD en MP3 avec Ubuntu 18.04 LTS
[Java] Mémo sur la façon d'écrire la source
Comment exécuter NullpoMino 7.5.0 sur la version 64 bits d'Ubuntu 20.04.1
Notes sur la façon de rédiger des commentaires en anglais
[Introduction] Créer une application Ruby on Rails
[Ruby on Rails] Comment écrire enum en japonais
Comment écrire un test unitaire pour Spring Boot 2
java: Comment écrire une liste de types génériques [Note]
Comment faire fonctionner JavaScript sur une page spécifique
Comment installer le pilote NVIDIA sur la destination SSH Ubuntu
Comment écrire une recherche de comparaison de dates dans Rails
[Java] Comment exécuter des tâches régulièrement
Comment démarrer TOMCAT en spécifiant JAVA_HOME sous Windows
Que voir lorsque IntelliJ ne démarre pas sur Mac
Comment écrire un mod de base dans Minecraft Forge 1.15.2
[Java] Comment rompre une ligne avec StringBuilder