web-dev-qa-db-fra.com

Accéder au bloc-notes Jupyter s'exécutant sur un conteneur Docker

J'ai créé une image de menu fixe avec les bibliothèques Python et Jupyter. Je lance le conteneur avec l’option -p 8888:8888, pour lier les ports entre l’hôte et le conteneur. Lorsque je lance un noyau Jupyter dans le conteneur, il s’exécute sur localhost:8888 (et ne trouve pas de navigateur). J'ai utilisé la commande jupyter notebook

Mais de mon hôte, quelle est l'adresse IP que je dois utiliser pour travailler avec Jupyter dans le navigateur de l'hôte? 

Avec la commande ifconfig, je trouve eth0, docker, wlan0, lo ...

Merci ! 

35
J.Guillaumin

Vous devez exécuter votre ordinateur portable sur 0.0.0.0: jupyter notebook -i 0.0.0.0. En cours d'exécution sur localhost, rendez-le disponible uniquement à l'intérieur du conteneur.

41
Mateusz Moneta

Ordinateur hôte: docker run -it -p 8888:8888 image:version 

À l'intérieur du conteneur: jupyter notebook --ip 0.0.0.0 --no-browser --allow-root 

Ordinateur hôte accéder à cette URL: localhost:8888/tree‌​ 

Lorsque vous vous connectez pour la première fois, un lien s'affiche sur le terminal pour vous connecter avec un jeton.

13
Lahiru Karunaratne

Pour obtenir le lien vers votre serveur de notebook Jupyter:

Après votre commande docker run, un lien hypertexte devrait être généré automatiquement. Cela ressemble à quelque chose comme ceci: http://localhost:8888/?token=f3a8354eb82c92f5a12399fe1835bf8f31275f917928c8d2 :: /home/jovyan/work

Si vous souhaitez retrouver le lien ultérieurement sur la ligne, vous pouvez taper docker exec -it <docker_container_name> jupyter notebook list.

6
Josephine M. Ho

La commande docker run est obligatoire pour ouvrir un port pour le conteneur afin d'autoriser la connexion à partir d'un navigateur hôte, en affectant le port au conteneur de menu fixe avec -p, sélectionnez votre image jupyter à partir de votre docker images

docker run -it -p 8888:8888 image:version

Dans le conteneur, lancez le bloc-notes en assignant le port que vous avez ouvert:

jupyter notebook --ip 0.0.0.0 --port 8888 --no-browser --allow-root

Accédez au bloc-notes via le navigateur de votre ordinateur à l’adresse http: // localhost: 8888 Le bloc-notes vous demandera un jeton qui a été généré lors de sa création.

2
drillep

Vous pouvez utiliser la commande jupyter notebook --allow-root --ip[of your container] ou donner accès à toutes les adresses IP à l'aide de l'option --ip0.0.0.0.

2
Hemant jajoo

Découvrez le projet Torus qui Manifold open source récemment. Nous voulions un moyen simple pour nos ingénieurs ML de travailler sur de nouveaux projets avec un environnement de développement cohérent dans l’ensemble de l’équipe. Ce cookiecutter Python échafaudera une nouvelle structure de projet comprenant un fichier Docker qui utilise une image de développement ML précuite que nous avons insérée dans Docker Hub et une configuration Docker Compose qui prend en charge tous les transferts de ports. La configuration est écrite pour choisir un port ouvert sur votre ordinateur hôte à transférer au serveur portable exécuté sur 8888 à l'intérieur du conteneur. Plus besoin de faire fonctionner plusieurs serveurs de cahiers sur votre machine! Check it out espérons que cela est utile! 

Repo Github: https://github.com/manifoldai/docker-cookiecutter-data-science

Pourquoi nous l'avons construit (w/demo): https://medium.com/manifold-ai/torus-a-toolkit-for-docker-first-data-science-bddcb4c97b52

1
abng88

La procédure ci-dessous explique comment je l'obtiens sous Windows 7 avec la boîte à outils Docker. 

Si vous utilisez docker toolbox, ouvrez le terminal Docker quickstart et notez l’adresse IP ici:

docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com

Une fois que vous avez exécuté les commandes du menu fixe à partir du site Web d’installation de tensorflow :

docker pull tensorflow/tensorflow                  # Download latest image
docker run -it -p 8888:8888 tensorflow/tensorflow  # Start a Jupyter notebook server

Vous recevrez un message comme celui-ci:

Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
    http://127.0.0.1:8888/?token=d6e80acaf08e09853dc72f6b0f022b8225f94f

Dans l'hôte, remplacez 127.0.0.1 par 192.168.99.100 et utilisez le reste de cette URL.

1
ivan7707

Dans le conteneur, vous pouvez exécuter les opérations suivantes pour le rendre disponible sur votre ordinateur local (à l’aide de l’adresse IP de votre ordinateur de poche). 

jupyter notebook --ip 0.0.0.0 --allow-root

Il se peut que vous n’ayez pas besoin de fournir l’option --allow-root en fonction de la configuration de votre conteneur.

0
SeekingAlpha