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.
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
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
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 😃
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