[PYTHON] Présentation de l'image Docker de Kaggle sur Windows pour créer un environnement

Enregistrez la partie obstruée comme rappel lorsque vous essayez de créer facilement un environnement à l'aide de l'image Docker de Kaggle dans votre ordinateur portable Windows.

En gros, je me réfère à l'article de "Teniro Graffiti", donc veuillez vous référer à cela en premier, sauf pour Win10 Pro dont l'OS est windows. Et si vous utilisez la boîte à outils Docker, cela vous sera utile.

Point d'arrêt ① L'exécution de yaml de docker-compose ne fonctionne pas en raison d'une erreur de nom de volume

Comme mentionné dans l'article ci-dessus, lorsque j'ai créé un fichier yaml pour docker-compose, j'ai eu une erreur.

version: "3"
services:
  jupyter:
    build: .
    volumes:
      - $PWD:/tmp/working
    working_dir: /tmp/working
    ports:
      - 8888:8888
    command: jupyter notebook --ip=0.0.0.0 --allow-root --no-browser

image.png J'obtiens l'erreur "le nom du volume est trop court, les noms doivent contenir au moins deux caractères alphanumériques". Résultats de l'enquête, la notation de la variable d'environnement des volumes dans le fichier yaml est $ PWD, mais dans l'environnement actuel Cela ne fonctionne pas, et il semble préférable d'exécuter les commandes $ {PWD} et PWD (obtenir le chemin du répertoire courant). Cela fonctionnait donc mieux avec $ {PWD} / tmp / working au lieu de $ PWD: / tmp / working (parce que je suis un débutant dans Docker, j'apprécierais que vous puissiez commenter la raison pour plus de détails).

Point d'arrêt ② Je ne parviens pas à me connecter à Docker avec un navigateur

Quand je l'ai exécuté avec le fichier yaml modifié par docker-compose up --build, j'ai pu construire avec succès le conteneur avec le notebook jupyter fonctionnant dans l'environnement d'analyse kaggle. image.png Cependant, dans le navigateur "http: // localhost: 8888 /? Token = XXXX" Tenter de se connecter au notebook jupyter via le port 8888 de Docker en entrant l'URL ne fonctionne pas. image.png Dans le cas de Docker toolbox, il n'est pas possible de se connecter directement à localhost (hôte local), donc obtenez l'adresse IP de la machine virtuelle exécutée sur Docker Toolbox et entrez-la dans l'URL au lieu de localhost Ingenuity / jusotech10 / items / b292ac38197926fc6afa) est requis.

> docker-machine ip default
192.168.XX.XX

Ensuite, j'ai pu me connecter avec succès au notebook jupyter. image.png

Point d'arrêt Je ne peux pas monter le système d'exploitation hôte dans le répertoire.

La partie volume du fichier yaml mentionnée ci-dessus représente le répertoire à monter, mais dans mon environnement, le montage n'a pas fonctionné et le système d'exploitation hôte (local) et le répertoire sur la VM ne se sont pas synchronisés. À l'issue de l'enquête, il a été constaté que la cause était la suivante.

  1. Le paramètre de partage de dossier d'Oracle Virtual Box n'est pas défini.

  2. La version du fichier de démarrage de la VM (boot2docker.iso) côté docker ne correspond pas à la version de VirtualBox qui a été installée lors de l'installation de docker toolbox.

  3. Lancement de "Oracle VM VirtualBox Manager" et utilisation de la VM de la machine docker actuellement utilisée. Vous pouvez le monter en cochant Détails> Dossier partagé> Ajouter un nouveau dossier partagé> Montage / persistance automatique. Étant donné que la boîte à outils docker pour Windows passe par VirtualBox, la commande docker ne sera efficace que si ces paramètres sont définis. ** Icône VM VirtualBox ** image.png ** Gestionnaire VM VirtualBox ** image.png ** Fenêtre des paramètres du dossier partagé des détails de la VM ** image.png Cependant, même si j'ai réglé environ 1., le montage ne fonctionnait pas. La cause est que la version de VirtualBox installée en premier et la version du fichier de démarrage de la VM de Docker ne correspondaient pas. (Je ne sais pas pourquoi c'est arrivé) Je pourrais changer le fichier de démarrage pour qu'il corresponde à la version actuelle de VirtualBox, mais j'ai réinstallé VirtualBox vers la dernière version et mis à jour le fichier de démarrage en même temps. Le fichier de démarrage est stocké sous le nom C: // Users / {user} /. Docker / machine / cache / boot2docker.iso. Ce fichier est disponible sur ** ici **. Vous pouvez trouver la version de VirtualBox dans Aide> À propos de VirtualBox, et vous pouvez télécharger le programme d'installation à ** ici **. Remplacez le fichier de démarrage, réinstallez VirtualBox et supprimez l'ancienne machine VM Docker avec VirtualBox Manager. Lorsque vous démarrez Docker Quick Start Terminal, il lancera automatiquement une nouvelle VM pour docker en fonction du fichier de démarrage. Bien qu'il s'agisse d'un petit détail, la différence entre la version du fichier de démarrage et la version de VirtualBox sera la même que la version du fichier de configuration appelé GuestAdditions.iso utilisé pour monter le système d'exploitation hôte, ce qui entraînera l'échec du montage.

Point de chute Je ne veux pas lancer le notebook Jupyter à chaque fois

J'ai créé un conteneur Docker avec un fichier yaml basé sur l'image Docker, mais comme la commande de démarrage du notebook jupyter est incluse à chaque démarrage du conteneur, le notebook jupyter démarrera avec le conteneur à chaque fois. À ce moment-là, en lançant et en attachant le conteneur avec la commande suivante, vous pouvez accéder au conteneur avec les mêmes paramètres, sauf que jupyter notebook n'est pas lancé dans les paramètres de fichier yaml mentionnés ci-dessus.

docker run -t -i --name {Nom du conteneur} -p 8888:8888 -v $PWD:/tmp/working:/tmp/working -w /tmp/working {Nom de l'image Docker} /bin/bash

Après avoir créé diverses installations et répertoires, jupyter notebook --ip = 0.0.0.0 --allow-root --no-browser Vous pouvez également lancer et utiliser jupyter notebook avec . De même, vous pouvez créer et exécuter le fichier yaml qui correspond à la commande docker ci-dessus. (Je vais l'omettre ici) Pour référence, les commandes docker qui sont souvent utilisées sont répertoriées ci-dessous.

#Lancer la VM
docker-machine start {Nom de la VM}
#Liste des images actuellement créées
docker images
#Liste des conteneurs actuellement créés
docker ps -a
#Démarrez le conteneur confirmé ci-dessus par nom ou ID
docker start {Nom du conteneur/ID du conteneur}
#Attacher au conteneur démarré
docker attach {Nom du conteneur/ID du conteneur}
#Quittez la VM
docker-machine stop {Nom de la VM}
#Supprimer les images inutiles
docker rmi {Nom de l'image/ID de l'image}
#Supprimer les conteneurs inutiles
docker rm {Nom du conteneur/ID du conteneur}

finalement

Si vous souhaitez analyser facilement avec un ordinateur portable Windows disponible dans le commerce, mais ne voulez pas polluer l'environnement, Docker est un logiciel très utile. J'ai résumé les points sur lesquels je suis tombé lorsque je l'ai présenté dans Windows 10 Home Edition. Je suis heureux que vous puissiez l'utiliser comme référence.

Recommended Posts

Présentation de l'image Docker de Kaggle sur Windows pour créer un environnement
Créer un environnement Python sur Windows
Construire un environnement Python avec Windows
Comment créer un environnement Django (python) sur Docker
Créez un environnement sur Windows10 où vous pouvez essayer MXNet
Environnement de création de module d'extension Python 2.7, 3.4, 3.5 sous Windows
Comment créer un environnement NVIDIA Docker
Création d'un environnement pour "Tello_Video" sous Windows
Construisez Linux sur un environnement Windows. Étapes pour installer Laradock et migrer
Créez un environnement LAMP sur votre Docker local
Pour les débutants à créer un environnement Anaconda. (Note)
Créez simplement un environnement d'exécution Python 3 sous Windows
[Latest] Comment créer un environnement Java sur Ubuntu
Créer un environnement Arch Linux sur Raspai
Étapes pour créer PyTorch 1.5 pour CUDA 10.2 sous Windows
Comment créer un environnement pour utiliser plusieurs versions de Python sur un Mac
Construire TensorFlow sous Windows
Construisez XGBoost sur Windows
Créer un environnement de développement Python basé sur GVim sur Windows 10 (3) GVim8.0 et Python3.6
Créer un environnement OpenCV4 sur Raspberry Pi à l'aide de Poetry
Créer un environnement de développement Python basé sur GVim sur l'installation de Windows 10 (1)
[Go + Gin] J'ai essayé de créer un environnement Docker
Créez un environnement Open AI Gym avec Bash sur Windows 10
Présentation de WSL (Ubuntu 18.04) à WIndows10 ~ Deuxième partie de l'environnement proxy ~
Comment créer un environnement Python sur Amazon Linux 2
Windows10 (x64) Créer nativement un environnement d'apprentissage automatique
J'ai essayé de créer un environnement avec WSL + Ubuntu + VS Code dans un environnement Windows
Créer un environnement d'apprentissage automatique à l'aide de Python sur MacOSX
Comment créer un nouvel environnement virtuel Python sur Ubuntu
Ajouter une extension pour créer un environnement Jupyter plus confortable
Créer un environnement de développement Ubuntu python sur Google Cloud Platform
Comment utiliser VS Code dans un environnement Venv avec Windows
Créer un environnement de développement Python basé sur GVim sur les paramètres de base de Windows 10 (2)
Développement de l'environnement Django sur Windows 10
Mémo pour la création d'un environnement Python à l'aide de Docker sur Windows 10 Famille
Création d'un environnement pour exécuter des programmes Python sur AWS EC2
Créez un environnement GPU avec GCP et l'image officielle de Kaggle (docker)
Créer une application Todo avec Django ① Créer un environnement avec Docker
Comment gérer la version mineure de Python (créer un environnement virtuel) sous Windows (sans Pyenv ou WSL)
[Tensorflow] Construction de l'environnement Tensorflow sous Windows 10
Comment créer un fichier ISO (image CD) sous Linux
Utilisez Xming pour lancer une application GUI Ubuntu sous Windows.
Tout le monde peut comprendre comment créer un environnement initial pour Python sur Mac Septembre 2016 (pyenv + virutalenv)
J'ai essayé de créer un environnement serveur qui fonctionne sous Windows 10
[Docker] Créer un environnement pour python (Flask) + GraphQL (graphène) + MySQL (sqlalchemy)
J'ai essayé de créer un environnement de MkDocs sur Amazon Linux
Le moyen le plus simple de créer un environnement d'utilisation Spleeter à l'aide de Windows
Comment créer un environnement Python à l'aide de Virtualenv sur Ubuntu 18.04 LTS
Créez et essayez un environnement OpenCV et Python en quelques minutes à l'aide de Docker
Création d'un environnement pour exécuter ChainerMN sur une instance de GPU AWS
Shellscript pour créer un environnement pyenv sur ubuntu d'un seul coup
Tout, de la création d'un environnement Python à son exécution sous Windows
docker build python basé sur alpin
Mémo de construction de l'environnement Python sur Windows 10
Python 3.6 sous Windows ... et vers Xamarin.
Construction de l'environnement Anaconda Python sous Windows 10
Créer un environnement go à l'aide de Docker
Comment utiliser Dataiku sous Windows