26 mar. 2016

Usar Jupyter Notebook desde un contenedor de Docker

Jupyter Notebook es una aplicación web que permite crear y compartir documentos que  contienen código, gráficos y texto. Sus usos incluyen limpieza y transformación de datos, simulación numérica, modelado estadistico, machine learning y mucho más. Más información lo pueden ver en este enlace.

La idea es ejecutar jupyter notebook desde un contenedor docker donde se guardará los archivos generados en el directorio definido por medio de volumen.

Los artículos anteriores sobre docker son:
  1. Instalar Docker en Debian Jessie
  2. Uso de Docker en Debian Jessie (parte 1)
  3. Uso de Docker en Debian Jessie (parte 2)
  4. Crear una imagen Docker a partir de un archivo Dockerfile
  5. Iniciando Django usando Docker
  6. Instalar Gitlab por medio de Docker
  7. Ejecutando microservicios con docker usando docker-compose
  8. Docker en Docker (DinD)
  9. Iniciando Django con docker usando docker-compose con postgresql como microservicio.
  10. Importar un contenedor Docker en Python.
  11. Compartir imagenes Docker por medio de archivos tar.
  12. Crear un registro de imagenes Docker privado.
  13. Usar Anaconda desde un contenedor Docker.
  14. Crear un entorno de Integración y Despligue continue con Docker para node.js.

Existe varias imagenes de Docker de la gente de jupyter, la que se va a usar es la de jupyter notebook.

Para ejecutar el contenedor ejecutamos lo siguientes:

$docker run --rm -it -p 8888:8888 -v "$(pwd):/notebooks" jupyter/notebook

Al ejecutar el comando se tiene lo que muestra la siguiente imagen:

El puerto externo al contenedor será el 8888, igual que el interno, el volumen se maneja desde el directorio donde se ejecuta el comando anterior. 

Desde un navegador se abre el siguiente enlace: http://localhost:8888/ .


Se crea un documento donde se realiza una serie de instrucciones de python y se salva con nombre prueba-python:


Al ejecutar un ls -l en el directorio donde se inicio el contenedor se tiene el archivo prueba-python.ipynb:

 ls -l notebooks/
total 4
-rw-r--r-- 1 root root 1390 mar 26 20:04 prueba-python.ipynb

Por medio de la opción de volumen se está compartiendo el directorio notebooks del contenedor en el equipo anfitrion.

Publicar un comentario en la entrada

AddThis