Usar Anaconda desde un contenedor Docker.
Posted on sáb 26 marzo 2016 in Tutorial Python • 3 min read
Continuando con artículos relacionados con Docker. Está vez se mostrará como correr Anaconda desde una imagen Docker.
A continuación les dejo los artículos anteriores: 1. Instalar Docker en Debian Jessie
Lo primero que se estarán preguntando es, ¿Qué es Anaconda?.
La respuesta se la pueden conseguir en el enlace oficial del sitio continuum:
Anaconda es un manejador de paquetes (libre y fácil de instalar),manejo de entorno, distribución de Python, y una colección de más de 720 paquetes opensource con soporte comunitario. Además se puede instalar más de mil paquetes con el comando conda install <paquete>
, funciona en Linux, Windows y OSX. Anaconda es la herramienta hecha para cientificos de datos.
¿Quienes más usan anaconda?
- Científicos de Datos.
- Desarrolladores.
- Ingenieros de Datos.
- DevOps.
- Analistas de negocios.
-
El procedimiento para usar anaconda lo explican en este enlace.
Las imágenes existentes de anaconda la pueden ver en este enlace.
Para ver las imágenes de la gente de continuum se realiza una búsqueda con docker:
$docker search continuumio
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
continuumio/anaconda Powerful and flexible python distribution 27 [OK]
continuumio/miniconda Powerful and flexible package manager 14 [OK]
continuumio/anaconda3 10 [OK]
continuumio/miniconda3 5 [OK]
continuumio/memex_explorer memex explorer app 1
continuumio/solr solr 10.4.2 + tika 0
continuumio/tika Tika 1.9 0
continuumio/binstar-build-linux64 0 [OK]
continuumio/kibana 0
continuumio/imagecat Docker Container for ImageCat 0
continuumio/banana 0
Luego se bajará la imagen miniconda:
$ docker pull continuumio/miniconda
Using default tag: latest
latest: Pulling from continuumio/miniconda
a3ed95caeb02: Pull complete
79362e2488a1: Pull complete
41938770486e: Pull complete
1c66b99d17cb: Pull complete
33e1cf31bc39: Pull complete
Digest: sha256:5d27e59a93068184fc6dd63043746ad35aa15dd2862ff0babd391bc3c05a5fc4
Status: Downloaded newer image for continuumio/miniconda:latest
Ahora se puede iniciar un contenedor a partir de la imagen que se descargó:
$ docker run -t -i continuumio/miniconda /bin/bash
root@f7115572fad4:/#
Se prueba que conda está instalado en ese contenedor:
ernesto@jewel:~/dockerfiles$ docker run -t -i continuumio/miniconda /bin/bash
root@f7115572fad4:/# conda info
Current conda install:
platform : linux-64
conda version : 3.19.0
conda-build version : not installed
python version : 2.7.11.final.0
requests version : 2.9.0
root environment : /opt/conda (writable)
default environment : /opt/conda
envs directories : /opt/conda/envs
package cache : /opt/conda/pkgs
channel URLs : https://repo.continuum.io/pkgs/free/linux-64/
https://repo.continuum.io/pkgs/free/noarch/
https://repo.continuum.io/pkgs/pro/linux-64/
https://repo.continuum.io/pkgs/pro/noarch/
config file : None
is foreign system : False
Ahora se instalará scipy
vía el comando conda
:
root@f7115572fad4:/# conda install scipy
Fetching package metadata: ....
Solving package specifications: ....................
Package plan for installation in environment /opt/conda:
The following packages will be downloaded:
package | build
---------------------------|-----------------
libgfortran-3.0 | 0 261 KB
mkl-11.3.1 | 0 121.2 MB
openssl-1.0.2g | 0 3.2 MB
sqlite-3.9.2 | 0 3.9 MB
numpy-1.10.4 | py27_1 6.0 MB
requests-2.9.1 | py27_0 605 KB
setuptools-20.3 | py27_0 452 KB
wheel-0.29.0 | py27_0 81 KB
conda-4.0.5 | py27_0 185 KB
pip-8.1.1 | py27_0 1.5 MB
scipy-0.17.0 | np110py27_2 30.1 MB
------------------------------------------------------------
Total: 167.3 MB
The following NEW packages will be INSTALLED:
libgfortran: 3.0-0
mkl: 11.3.1-0
numpy: 1.10.4-py27_1
scipy: 0.17.0-np110py27_2
The following packages will be UPDATED:
conda: 3.19.0-py27_0 --> 4.0.5-py27_0
openssl: 1.0.2d-0 --> 1.0.2g-0
pip: 7.1.2-py27_0 --> 8.1.1-py27_0
requests: 2.9.0-py27_0 --> 2.9.1-py27_0
setuptools: 18.8.1-py27_0 --> 20.3-py27_0
sqlite: 3.8.4.1-1 --> 3.9.2-0
wheel: 0.26.0-py27_1 --> 0.29.0-py27_0
Proceed ([y]/n)? y
Otra opción es bajar continuumio/anaconda, que tiene la paqueteria base:
$ docker pull continuumio/anaconda
Y se ejecuta el contenedor:
ernesto@jewel:~/dockerfiles$ docker run -t -i continuumio/anaconda /bin/bash
root@f7115572fad4:/#
¡Haz tu donativo! Si te gustó el artículo puedes realizar un donativo con Bitcoin (BTC) usando la billetera digital de tu preferencia a la siguiente dirección: 17MtNybhdkA9GV3UNS6BTwPcuhjXoPrSzV
O Escaneando el código QR desde la billetera: