--Créez un état où ** le code python peut être exécuté ** sans polluer l'environnement local
** Temps requis 5 minutes **
L'article suppose qu'il sera construit sur un macbook, mais si vous voulez le démarrer sur un serveur et y accéder avec un navigateur, remplacez localhost
par n'importe quel serveur et exécutez-le (et définissez un port accessible par le navigateur).
https://docs.docker.com/docker-for-mac/install/#download-docker-for-mac
--Cliquez sur Get Docker for mac
pour obtenir Docker.dmg
Docker.dmg
et installez-le sur macObtenez votre image de docker préférée, ici nous utiliserons l'image qui contient anaconda3 https://hub.docker.com/r/continuumio/anaconda3/~/dockerfile/
$ docker pull continuumio/anaconda3
Using default tag: latest
latest: Pulling from continuumio/anaconda3
8ad8b3f87b37: Pull complete
e8b8d30f7444: Pull complete
...
Status: Downloaded newer image for continuumio/anaconda3:latest
$ mkdir -p $HOME/jupyter-notebook/notebooks
$ docker run \
-d -i -t \
-p 8888:8888 \
--name jupyter-notebook \
-v $HOME/jupyter-notebook/notebooks:/opt/notebooks \
continuumio/anaconda3 \
/bin/bash -c "/opt/conda/bin/conda install jupyter -y --quiet && /opt/conda/bin/jupyter notebook --notebook-dir=/opt/notebooks --ip='*' --no-browser --allow-root"
-p 8888: xxxx
Si la valeur par défaut de Jupyter Notebook de 8888 ne vous convient pas, remplacez-la par un autre port xxxx
.
Vérifiez l'état du conteneur
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
96f9690341ae continuumio/anaconda3 "/usr/bin/tini -- ..." 6 seconds ago Up 5 seconds 0.0.0.0:8888->8888/tcp jupyter-notebook
Dans le journal obtenu par la commande docker logs
, l'URL avec le jeton pour accéder à JupyterNotebook est enregistrée, alors récupérez-la.
$ docker logs jupyter-notebook
Fetching package metadata .........
Solving package specifications: .
...
Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
http://localhost:8888/?token=a5b5211197b4d9b2f8f93ee73c085786039486369c5bcbec <<<<---- here
Ouvrez l'URL obtenue dans le navigateur (si vous avez changé le port, remplacez-le par le port spécifié)
http://localhost:8888/?token=a5b5211197b4d9b2f8f93ee73c085786039486369c5bcbec
Ouvert Pas encore de code
Placez votre code préféré dans votre répertoire de travail
Par exemple, git clone
référentiel Deep Learning from scratch
$ cd $HOME/jupyter-notebook/notebooks
$ git clone https://github.com/oreilly-japan/deep-learning-from-scratch.git
Cloning into 'deep-learning-from-scratch'...
remote: Counting objects: 322, done.
remote: Total 322 (delta 0), reused 0 (delta 0), pack-reused 322
Receiving objects: 100% (322/322), 4.87 MiB | 944.00 KiB/s, done.
Resolving deltas: 100% (160/160), done.
Checking connectivity... done.
Immédiatement réfléchi sur Jupyter Notebook
(Le fichier acquis est un fichier texte, il ne peut donc pas être exécuté tel quel)
Créez un fichier exécutable tel que Python3
à partir du menu déroulant Nouveau
sur l'écran Jupyter, et coupez et collez le code que vous souhaitez exécuter pour déplacer le code librement.
c'est tout! : RÉ
Détruisons le conteneur avec docker stop
, docker rm
:)
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
96f9690341ae continuumio/anaconda3 "/usr/bin/tini -- ..." 6 seconds ago Up 5 seconds 0.0.0.0:8888->8888/tcp jupyter-notebook
$ docker stop 96f9690341ae
$ docker rm 96f9690341ae