Faisons fonctionner Python 3.4 avec Docker et exécutons le notebook IPython. Certaines bibliothèques ne sont pas entièrement compatibles avec Python 3.4, mais la migration progresse progressivement, donc Python 3.4 est un bon choix pour l'écriture future. Vous pouvez vérifier la compatibilité de la bibliothèque sur Python 3 Wall of Superpowers.
Pourquoi utiliser Docker:
Je pense que c'est la raison pour laquelle IPython Notebook est utilisé pour l'analyse des données.
Les images Docker pour Python et IPython sont enregistrées sur Docker Hub ou publiées sur Github. Je pense qu'il n'y a pas encore d'édition définitive, donc ce serait bien de lire et de comparer quelques Dockerfile
s.
Il est essentiellement construit sur Ubuntu, mais les bibliothèques C qui dépendent du module Python que vous utilisez sont différentes. En gros, il y a ceux qui supposent des opérations numériques telles que * numpy * et ceux qui supposent des connexions de base de données telles que PostgreSQL. En premier lieu, la version de Python est également différente entre la 2ème et la 3ème série.
Dépôt | Python | explication facile |
---|---|---|
ipython/notebook(DockerHub) | Python 2.x | IPython notebook in a docker container. |
micktwomey/ipython3.4-notebook(DockerHub) | Python3.4 | DockerIPython2.0Notebook(micktwomey/ipython3.4)+Python3.4(micktwomey/python3.4) image |
unfairbanks/docker-ipython-notebook(DockerHub) | Python 2.x | Docker container image capable of running an iPython notebook server |
dckc/ipython-docker(Github) | Python 2.x | docker container for ipython notebook |
crosbymichael/python-docker(Github) | Python 2.x | Dockerfile for python on debian |
mingfang/docker-ipython(Github) | Python 2.x | Run IPython, Pattern, NLTK, Pandas, NumPy, SciPy, Numba, Biopython inside Docker |
Cette fois, pour ma propre étude, j'ai créé une image Docker à la main et l'ai enregistrée dans Docker Hub afin d'utiliser la dernière version de chaque bibliothèque. Si vous le créez avec Automated Build lié à Github, la création d'image se déroulera automatiquement, ce qui est pratique.
Lorsque vous lancez le conteneur avec l'image spécifiée, le notebook IPython se lancera sur le port 8888. Vous pouvez spécifier le numéro de port à transférer depuis la machine hôte avec l'option -p
. (Ici, le numéro de port est modifié pour que vous puissiez voir comment le spécifier.)
$ docker run -d -p 8080:8888 skitazaki/python34-ipython
Si vous voulez partager des fichiers avec votre machine hôte, montez / notebook
.
$ docker run -d -p 8080:8888 -v $PWD:/notebook skitazaki/python34-ipython
Si vous accédez au port 8080 avec votre navigateur, vous pouvez utiliser le notebook IPython.
Vous pouvez créer un nouveau bloc-notes en cliquant sur "Nouveau bloc-notes". Vous pouvez voir que * pylab * (* il semble que seul * matplotlib * se comporte mieux à l'avenir) est activé et * pandas * peut être utilisé pour dessiner le graphique.
Lors du démarrage avec EC2, vous pouvez exposer le port 80, ou vous pouvez l'utiliser pour le tunnel SSH. Définissons le groupe de sécurité et la plage de divulgation en fonction des données cibles.
Après avoir modifié le bloc-notes, vous pouvez le sortir au format HTML, et vous pouvez télécharger le code source Python et le code source IPython Notebook à partir de l'écran. Cela suffit souvent pour afficher des résumés de données et dessiner des graphiques, comme dans les tableaux croisés dynamiques. IPython Notebook vous permet d'ajouter des explications au format Markdown, donc je pense que c'est plus pratique à gérer qu'un simple code source.
Si vous souhaitez utiliser un shell interactif simple, lancez le conteneur comme suit.
$ docker run -it skitazaki/python34-ipython ipython
Si vous souhaitez installer une bibliothèque Python supplémentaire, spécifiez / bin / bash
dans la commande et installez-la avec pip3 install {LIBNAME}
. Après l'installation, vous pouvez démarrer le serveur IPython Notebook avec la commande suivante:
récipient
root% ipython-notebook-startup.sh /notebook
Les bibliothèques utiles pour Python sont résumées ici. Si vous le regardez de temps en temps, vous découvrirez peut-être quelque chose de nouveau.
Lors de l'utilisation de Docker, il est pratique de définir l'alias écrit dans le cheat sheet (wsargent / docker-cheat-sheet). Ajoutons-le à .bashrc
/ .zshrc
etc.
.bashrc
alias dl='docker ps -l -q'
Je pense que les articles suivants sont faciles à comprendre en tant qu'introduction à Docker.
Recommended Posts