24

Instalación del entorno arara-docker-stacks

Osmandi
osmandi
42149

Estoy repasando el curso y he notado que muchos tenemos problemas con la instalación del entorno de arara con Docker tal como lo muestra el profesor.

Te voy a ayudar a instalarlo de una vez por todas. 😄

REQUISITOS


Te recomiendo mucho que antes de tomar este curso veas primero el curso de git y github, python, data science y docker. De esta forma podrás aprovechar mejor este curso y los que siguen de la carrera.

Debes tener instalado Git y Docker en tu máquina

INSTALACIÓN


Lo primero es que te ubiques en tu carpeta Home y una vez allí crees una carpeta llamada platzi-ml y clonas mi repositorio:

mkdir platzi-mlcd platzi-ml
git clone https://github.com/osmandi/arara-docker-stacks.git

Luego sigues estos pasos, que están la sección de archivos de las primeras clases :

cd arara-docker-stacks/ararads-base
sudo docker build -t ararads-base:1.0 .
cd ../ararads-tf-cpu
sudo docker build -t ararads-tf-cpu:1.0 .

Creamos una carpeta llamada vol que es un volumen donde estaremos compartiendo archivos entre el contenedor y nuestra máquina.

mkdirvol

Es muy importante que esta carpeta tenga la ruta ~/platzi-ml/vol A menos que quieras modificar la instancia del contenedor.

Para instanciar el contenedor, lo hacemos de la siguiente manera

sudo docker run -ti --name platzi-ml -v ~/platzi-ml/vol:/home/juanpablo/work/vol -p 9000:8888 ararads-tf-cpu:1.0 start-notebook.sh --NotebookApp.token=''

En este punto si accedes a localhost:9000 debes poder entrar a jupyter, crear archivos que se verán desde tu máquina en la carpeta ~/platzi-ml/vol

Para salir tan solo teclea ctrl+c.

VOLVER A INSTANCIAR EL CONTENEDOR


En este punto es donde necesitas conocer lo básico de docker. Una vez que detenemos el contenedor no podemos volver a ejecutar como lo hicimos la primera vez porque ya hay un contenedor con ese nombre.

Pero es muy sencillo volverlo a ejecutar, tan solo colocamos en la terminal:

docker start platzi-ml

Si tecleamos docker ps deberíamos ver el contenedor ejecutándose y acceder a localhost:9000

Para detenerlo solo basta colocar en la terminal

docker stop platzi-ml

Con esto puedes pausar tu trabajo y continuar cuando prefieras.

CONCLUSION


¡Ah! Este tutorial debí haberlo hecho un poco antes, pero si crees que todo se me ha sido viento en popa te recomiendo leer este artículo:

Mi archlinux casi muere… por segunda vez

Nota: No diré cómo fue la primera 😛

Una vez que encontré la razón por la que no compilaba el Dockerfile me vi en serios problemas con mi Archlinux que he resuelto con un par de parches. Lo subí a mi GitHub y me comuniqué con @Gollum23 quien muy amablemente lo compartió en los comentarios.

Gracias por haber leído este minitutorial y espero te sea de provecho recuerda dejarme en los comentarios si te ha servido.

Escribe tu comentario
+ 2
Ordenar por:
1

Buenas una ayuda, trato de correr el comando y me sale lo siguiente:

$ docker run -ti --name ambiente-ml -v ~/platzi-ml/vol:/home/juanpablo/work/vol -p 9000:8888 ds-tf
:1.0 start-notebook.sh --NotebookApp.token=''C:\Program Files\Docker Toolbox\docker.exe: error during connect: Post https://192.168.99.100:2376/v1.37/containers/create?name=ambiente-ml: dial tcp 192.168.99.100:2376:connectex: Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder.
See 'C:\Program Files\Docker Toolbox\docker.exe run --help'.

Tambipen intente con otras opciones pero sigue apareciendo lo mismo:

$ docker run -it -p 8888:8888 -p 6006:6006 -d -v C:\Users\pollo\Downloads\Platzi\platzi-ml\Vol:/no
tebooks amaksimov/python_data_science
C:\Program Files\Docker Toolbox\docker.exe: error during connect: Post https://192.168.99.100:2376/v1.37/containers/create: dial tcp 192.168.99.100:2376: connectex: Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder.
See 'C:\Program Files\Docker Toolbox\docker.exe run --help'.

Qué estare haciendo mal?

Gracias

1
534Puntos

Hola, tengo un problema al instanciar el contenedor

➜  ~ sudo docker run -ti --name platzi-ml -v ~/platzi-ml/vol:/home/juanpablo/work/vol -p 9000:8888 ararads-tf-cpu:1.0 start-notebook.sh --NotebookApp.token=''

Me aparece esto:

[I 20:24:51.951 NotebookApp] Writing notebook server cookie secret to /home/juanpablo/.local/share/jupyter/runtime/notebook_cookie_secret
Traceback (most recent calllast):
  File"/opt/conda/lib/python3.5/site-packages/traitlets/traitlets.py", line 528, ingetvalue = obj._trait_values[self.name]
KeyError: 'allow_remote_access'

During handling of the above exception, another exception occurred:

Traceback (most recent calllast):
  File"/opt/conda/lib/python3.5/site-packages/notebook/notebookapp.py", line 864, in _default_allow_remote
    addr = ipaddress.ip_address(self.ip)
  File"/opt/conda/lib/python3.5/ipaddress.py", line 54, in ip_address
    address)
ValueError: '' does not appear to be an IPv4 or IPv6 address

During handling of the above exception, another exception occurred:

Traceback (most recent calllast):
  File"/opt/conda/bin/jupyter-notebook", line 11, in <module>
    sys.exit(main())
  File"/opt/conda/lib/python3.5/site-packages/jupyter_core/application.py", line 266, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File"/opt/conda/lib/python3.5/site-packages/traitlets/config/application.py", line 657, in launch_instance
    app.initialize(argv)
  File"</opt/conda/lib/python3.5/site-packages/decorator.py:decorator-gen-7>", line 2, in initialize
  File"/opt/conda/lib/python3.5/site-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File"/opt/conda/lib/python3.5/site-packages/notebook/notebookapp.py", line 1628, in initialize
    self.init_webapp()
  File"/opt/conda/lib/python3.5/site-packages/notebook/notebookapp.py", line 1378, in init_webapp
    self.jinja_environment_options,
  File"/opt/conda/lib/python3.5/site-packages/notebook/notebookapp.py", line 159, in __init__
    default_url, settings_overrides, jinja_env_options)
  File"/opt/conda/lib/python3.5/site-packages/notebook/notebookapp.py", line 252, in init_settings
    allow_remote_access=jupyter_app.allow_remote_access,
  File"/opt/conda/lib/python3.5/site-packages/traitlets/traitlets.py", line 556, in __get__
    returnself.get(obj, cls)
  File"/opt/conda/lib/python3.5/site-packages/traitlets/traitlets.py", line 535, ingetvalue = self._validate(obj, dynamic_default())
  File"/opt/conda/lib/python3.5/site-packages/notebook/notebookapp.py", line 867, in _default_allow_remote
    for info in socket.getaddrinfo(self.ip, self.port, 0, socket.SOCK_STREAM):
  File"/opt/conda/lib/python3.5/socket.py", line 732, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Nameor service not known

UBUNTU 18.04.2LTS - bionic
Docker Version: 18.09.2
Agradecería mucho su ayuda

1
534Puntos
3 años

Ya lo solucioné
->Abran: jupyter_notebook_config.py
->Para usuarios linux deberia estar en esta capeta, con su respectivo usuario: /home/USUARIOplatzi-ml/arara-docker-stacks/ararads-base/
-> Cambien: c.NotebookApp.ip = '*'
por: c.NotebookApp.ip = '0.0.0.0’
-> Vuelvan a ejecutar:

cd arara-docker-stacks/ararads-base
sudo docker build -t ararads-base:1.0 .
cd ../ararads-tf-cpu
sudo docker build -t ararads-tf-cpu:1.0 .

-> Vuelvan a ejecutar:

sudo docker run -ti --name platzi-ml -v ~/platzi-ml/vol:/home/juanpablo/work/vol -p 9000:8888 ararads-tf-cpu:1.0 start-notebook.sh --NotebookApp.token=''

si les sale un error similar a este:

docker: Error response from daemon: Conflict. The container name"/platzi-ml"is already in use by container "757d4d8503e0964f5a67449303a3bfb2dda94c2796bb4766b1eb555370302a7b". You have to remove (or rename) that container to be able to reuse thatname.
See 'docker run--help'.

remuevan el container usando:
sudo docker rm 757d4d8503e0964f5a67449303a3bfb2dda94c2796bb4766b1eb555370302a7b
->Vuelvan a ejecutar

sudo docker run -ti --name platzi-ml -v ~/platzi-ml/vol:/home/juanpablo/work/vol -p 9000:8888 ararads-tf-cpu:1.0 start-notebook.sh --NotebookApp.token=''

y eso es todo 😃

1
5350Puntos

al hacer docker build -t ararads-base:1.0 .
pandas 0.19.2 requires pytz>=2011k, which is not installed.
scikit-image 0.11.3 requires networkx>=1.8, which is not installed.
matplotlib 1.5.3 requires cycler, which is not installed.
matplotlib 1.5.3 requires pyparsing!=2.0.4,!=2.1.2,>=1.5.6, which is not installed.
matplotlib 1.5.3 requires pytz, which is not installed.
jupyterhub 0.7.2 requires alembic, which is not installed.
jupyterhub 0.7.2 requires pamela, which is not installed.

Cannot uninstall ‘numpy’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall