Images-Base-Jupyter

Soporte

Nota: (creación de una images-docker que nos sirva como base para otras aplicaciones como apache-spark, juncional para jupyterlab y jupyter-notebook).

Images-Base-Jupyter

Nota: (Lo primero crear la carpeta my-dockerfile donde guardamos nuestros Dockerfile, con nano creamos jupyter.Dockerfile y pegamos el testo correspondiente“siempre con mayúscula .Dockerfile).

  • In: root@juan-SATELLITE-C55-C-1JM:/# mkdir my-dockerfile
  • In: root@juan-SATELLITE-C55-C-1JM:/# cd my-dockerfile

Creamos un archivo dockerfile con nano :

  • In: root@juan-SATELLITE-C55-C-1JM:/my-dockerfile# nano jupyter.Dockerfile

 

Testo (jupyter.Dockerfile)

# Cargamos la imagen base base-python-pip-nano-java:latest y Nombre del autor

FROM base-python-pip-nano-java:latest

MAINTAINER Juan-Ma

# Ruta del proyecto

WORKDIR /opt

# Instalar paquetes o librerias

RUN pip install jupyter -U && pip install jupyterlab

# Exponer Puertos

EXPOSE 8888

# Comandos , parametros que se ejecuntan primero cuando se ejecunta el contenedor

ENTRYPOINT [«jupyter», «lab», «–allow-root»,»–ip=0.0.0.0″, «–no-browser»]

Nota: (En la versión definitiva la linea #ENTRYPOINT [«jupyter», «lab», «–allow-root»,»–ip=0.0.0.0″, «–no-browser»] la encabezamos con # para no se ejecuten).

Creamos la imagen a partir del Dokerfile :

  • In: root@juan-SATELLITE-C55-C-1JM:/my-dockerfile# docker build -f jupyter.Dockerfile . -t base-jupyter:latest

Nota: Opciones ( –file , -f Nombre del Dockerfile) , ( –tag , -t Nombre y, opcionalmente, una etiqueta en formato ‘nombre:etiqueta’) .

Listamos las images :

  • In: root@juan-SATELLITE-C55-C-1JM:/my-dockerfile# docker images
  • Out: base-jupyter latest 04d1d2b17e54 9 seconds ago 814MB

Nota: (con la images base-jupyter se cumple el objetivo de crear la images que nos ocupa y a continuación comprobare la funcionalidad creando un contenedor y probaremos Jupyterlab y Jupyter.Notebook, porque funciona los dos versiones lo veremos a continuación).

Creamos el contenedor a partir de la images 04d1d2b17e54 :

  • In: root@juan-SATELLITE-C55-C-1JM:/# docker run -it –rm -p 8888:8888 base-jupyter:latest
  • Out: http://127.0.0.1:8888/lab?token=22966497c2d862c6e4235c95ec8c93a2515dac77c1927e55

Nota: (–rm lo elimina automáticamente el contenedor cuando se sale “exits” lo podemos llamar un contenedor efimero. Abrimo el enlace).

 

Nota: (tenemos en ejecución jupyterlab con el token correspondiente, pero con esta instalación tenemos jupyter.netbook y podemos arrancar con http://127.0.0.1:8888/tree, “ojo” no salir desde el Terminal por necesitamos el token activado).

 

http://127.0.0.1:8888/tree

Recopilando :

En esta images “base-jupyter” con la cual usaremos como base para crear por ejemplo otra images. como “Spark-Master”. En la cual tenemos totalmente funcional Jupyterlab y Jupyter.Notebook. El motivo de incluir la versión Jupyter.Notebook es por su simplicidad, la cual ami personalmente me parece mas practica en laboratorio y desarrollo.

Referencias: (Entorno-Moreluz)