--Erstellen Sie einen Status, in dem ** Python-Code ausgeführt werden kann **, ohne die lokale Umgebung zu verschmutzen
** Benötigte Zeit 5 Minuten **
Der Artikel geht davon aus, dass es auf einem MacBook erstellt wird. Wenn Sie es jedoch auf einem Server starten und mit einem Browser darauf zugreifen möchten, ersetzen Sie localhost
durch einen beliebigen Server und führen Sie es aus (und legen Sie einen Port fest, auf den der Browser zugreifen kann).
https://docs.docker.com/docker-for-mac/install/#download-docker-for-mac
--Klicken Sie auf "Docker für Mac holen", um "Docker.dmg" zu erhalten
--Starten Sie Docker.dmg
und installieren Sie es auf dem Mac
Holen Sie sich das Docker-Image Ihrer Wahl. Hier verwenden wir das Image, das anaconda3 enthält 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
Wenn die Jupyter Notebook-Standardeinstellung 8888 nicht geeignet ist, ersetzen Sie sie durch einen anderen Port xxxx
.
Überprüfen Sie den Status des Containers
$ 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
In dem Protokoll, das mit dem Befehl "Docker-Protokolle" abgerufen wurde, wird die URL mit dem Token für den Zugriff auf JupyterNotebook aufgezeichnet.
$ 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
Öffnen Sie die erhaltene URL im Browser (wenn Sie den Port geändert haben, ersetzen Sie ihn durch den angegebenen Port).
http://localhost:8888/?token=a5b5211197b4d9b2f8f93ee73c085786039486369c5bcbec
Geöffnet Noch kein Code
Platzieren Sie Ihren Lieblingscode in Ihrem Arbeitsverzeichnis Als Beispiel "Git Clone" (Deep Learning-Repository von Grund auf neu) (https://github.com/oreilly-japan/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.
Sofort auf Jupyter Notebook reflektiert
(Die erfasste Datei ist eine Textdatei und kann daher nicht so ausgeführt werden, wie sie ist.) Erstellen Sie eine ausführbare Datei wie "Python3" aus dem Pulldown "Neu" auf dem Jupyter-Bildschirm und schneiden Sie den Code aus, den Sie ausführen möchten, um den Code frei zu verschieben.
das ist alles! : D.
Zerstören wir den Container mit 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
Recommended Posts